.mmpo{--mmpo-blue:#2563eb;--mmpo-green:#22c55e;--mmpo-red:#ef4444;--mmpo-dark:#111827;--mmpo-text:#1f2937;--mmpo-muted:#6b7280;--mmpo-border:#e5e7eb;--mmpo-bg:#f5f7fb;--mmpo-card:#fff;--mmpo-soft:#f8fafc;--mmpo-shadow:0 12px 34px rgba(15,23,42,.08);width:100%;max-width:1280px;margin:0 auto;padding:0 12px 74px;background:var(--mmpo-bg);color:var(--mmpo-text);font-family:Arial,sans-serif;box-sizing:border-box;border-radius:0}.mmpo *{box-sizing:border-box}.mmpo button,.mmpo input,.mmpo select,.mmpo textarea{font-family:inherit}.mmpo-alert{max-width:1280px;margin:18px auto 0;padding:14px 16px;border-radius:12px}.mmpo-alert--success{background:#dcfce7;color:#166534}.mmpo-alert--error{background:#fee2e2;color:#991b1b}.mmpo-form{max-width:1280px;margin:0 auto}.mmpo-topbar{position:sticky;top:0;z-index:30;background:#fff;border:1px solid var(--mmpo-border);border-top:none;border-radius:0 0 18px 18px;box-shadow:0 4px 18px rgba(15,23,42,.04);min-height:64px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.mmpo-brand{display:flex;align-items:center;gap:12px;min-width:220px}.mmpo-brand__icon{width:38px;height:38px;border-radius:12px;background:var(--mmpo-blue);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 38px}.mmpo-brand__icon svg{width:22px;height:22px;display:block}.mmpo-brand__title{font-weight:700;font-size:18px}.mmpo-brand__subtitle{color:var(--mmpo-muted);font-size:13px;margin-top:2px}.mmpo-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.mmpo-top-btn{min-height:40px;border:1px solid var(--mmpo-border);background:#fff;color:var(--mmpo-text);border-radius:11px;padding:0 14px;cursor:pointer;font-size:14px;transition:.18s}.mmpo-top-btn:hover{border-color:var(--mmpo-blue);color:var(--mmpo-blue)}.mmpo-top-btn--blue{background:var(--mmpo-blue);border-color:var(--mmpo-blue);color:#fff}.mmpo-top-btn--blue:hover{color:#fff;filter:brightness(.95)}.mmpo-top-btn--green{background:var(--mmpo-green);border-color:var(--mmpo-green);color:#fff;font-weight:700}.mmpo-top-btn--green:hover{color:#fff;filter:brightness(.95)}.mmpo-start{background:#fff;border:1px solid var(--mmpo-border);border-radius:22px;box-shadow:var(--mmpo-shadow);padding:28px;margin:22px 0}.mmpo-start.is-hidden{display:none}.mmpo-start__header{text-align:center;margin-bottom:22px}.mmpo-start__header h2{margin:0 0 10px;font-size:30px;line-height:1.2}.mmpo-start__header p{margin:0;color:var(--mmpo-muted);font-size:15px;line-height:1.5}.mmpo-dropzone{min-height:164px;border:2px dashed #cbd5e1;background:var(--mmpo-soft);border-radius:18px;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;cursor:pointer;transition:.18s}.mmpo-dropzone:hover,.mmpo-dropzone.is-dragover{background:#eff6ff;border-color:var(--mmpo-blue)}.mmpo-dropzone input{display:none}.mmpo-dropzone__icon{width:52px;height:52px;margin:0 auto 8px;border-radius:50%;background:#dbeafe;color:var(--mmpo-blue);display:flex;align-items:center;justify-content:center;font-size:26px}.mmpo-dropzone strong{display:block;color:var(--mmpo-blue);font-size:18px;margin-bottom:4px}.mmpo-dropzone small{color:var(--mmpo-muted)}.mmpo-source-title{margin:22px 0 12px;text-align:center;font-weight:700}.mmpo-source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mmpo-source{min-height:82px;border:none;border-radius:15px;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;gap:6px;transition:.18s}.mmpo-source:hover{transform:translateY(-2px);filter:brightness(.96)}.mmpo-source:disabled{opacity:.65;cursor:not-allowed}.mmpo-source span{font-size:26px}.mmpo-source--device{background:#22a447}.mmpo-source--gallery{background:#f97316}.mmpo-source--cloud{background:#3b82f6}.mmpo-source--later{background:#8b5cf6}.mmpo-workspace{display:none;gap:20px;align-items:flex-start;margin:22px 0}.mmpo-workspace.is-visible{display:grid;grid-template-columns:minmax(0,1fr) 340px}.mmpo-main-panel{min-width:0}.mmpo-add-strip{background:#fff;border:2px dashed #cbd5e1;color:var(--mmpo-blue);border-radius:18px;height:78px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-weight:700;cursor:pointer;transition:.18s}.mmpo-add-strip input{display:none}.mmpo-add-strip:hover{background:#eff6ff;border-color:var(--mmpo-blue)}.mmpo-photos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.mmpo-photo-card{background:#fff;border:1px solid var(--mmpo-border);border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.06);overflow:hidden}.mmpo-photo-card__toolbar{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-bottom:1px solid #f1f5f9}.mmpo-photo-card__tools{display:flex;gap:6px}.mmpo-icon-btn{width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:#fff;cursor:pointer;color:var(--mmpo-muted);display:flex;align-items:center;justify-content:center;padding:0}.mmpo-icon-btn:hover{background:#f3f4f6;color:var(--mmpo-blue)}.mmpo-icon-btn--danger:hover{color:var(--mmpo-red)}.mmpo-check{width:18px;height:18px;accent-color:var(--mmpo-blue)}.mmpo-photo-thumb{margin:10px;height:150px;border-radius:14px;border:1px dashed #94a3b8;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.mmpo-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:.18s}.mmpo-photo-card__body{padding:0 10px 12px;display:grid;gap:8px}.mmpo-field select,.mmpo-field input,.mmpo-field textarea,.mmpo-contact-form select,.mmpo-contact-form input,.mmpo-contact-form textarea,.mmpo-modal select,.mmpo-modal input{width:100%;height:39px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:var(--mmpo-text);padding:0 10px;font-size:14px}.mmpo-qty{display:grid;grid-template-columns:39px 1fr 39px;gap:0}.mmpo-qty button{height:39px;border:none;background:#0ea5e9;color:#fff;font-weight:700;font-size:18px;cursor:pointer;border-radius:0;padding:0}.mmpo-qty button:first-child{border-radius:10px 0 0 10px}.mmpo-qty button:last-child{border-radius:0 10px 10px 0}.mmpo-qty input{border-radius:0;text-align:center;border-left:none;border-right:none}.mmpo-sidebar{position:sticky;top:86px;display:grid;gap:14px}.mmpo-box{background:#fff;border:1px solid var(--mmpo-border);border-radius:18px;box-shadow:var(--mmpo-shadow);padding:18px}.mmpo-box h3{margin:0 0 14px;font-size:18px}.mmpo-order-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f1f5f9;font-size:14px}.mmpo-order-row:last-child{border-bottom:none}.mmpo-order-row span:first-child{color:var(--mmpo-muted)}.mmpo-order-row strong{text-align:right}.mmpo-total-box{margin-top:12px;padding:14px;border-radius:14px;background:var(--mmpo-dark);color:#fff;display:flex;justify-content:space-between;align-items:center}.mmpo-total-box span{color:#cbd5e1;font-size:13px}.mmpo-total-box strong{font-size:24px}.mmpo-sidebar-btn{width:100%;height:44px;border:none;border-radius:12px;cursor:pointer;font-weight:700;font-size:15px;margin-top:10px}.mmpo-sidebar-btn--green{background:var(--mmpo-green);color:#fff}.mmpo-sidebar-btn--blue{background:var(--mmpo-blue);color:#fff}.mmpo-contact-form{display:grid;gap:10px}.mmpo-contact-form label{font-size:13px;font-weight:700;display:grid;gap:6px}.mmpo-contact-form textarea{min-height:76px;padding-top:10px;resize:vertical}.mmpo-bottom-bar{position:fixed;left:50%;right:auto;bottom:0;z-index:40;width:min(100%,1280px);transform:translateX(-50%);background:#fff;border:1px solid var(--mmpo-border);border-bottom:none;box-shadow:0 -10px 30px rgba(15,23,42,.08);border-radius:16px 16px 0 0;display:none;grid-template-columns:1fr auto auto;align-items:center;gap:14px;min-height:58px;padding:7px 14px}.mmpo-workspace.is-visible~.mmpo-bottom-bar{display:grid}.mmpo-bottom-add{border:none;background:transparent;color:var(--mmpo-text);font-weight:700;cursor:pointer;text-align:left;font-size:15px;padding:0}.mmpo-bottom-total{color:var(--mmpo-muted);font-size:14px;white-space:nowrap}.mmpo-bottom-total strong{color:var(--mmpo-text);font-size:19px;margin-left:8px}.mmpo-bottom-order{border:none;background:var(--mmpo-green);color:#fff;border-radius:12px;height:42px;padding:0 20px;cursor:pointer;font-weight:700;font-size:15px}.mmpo-note{text-align:center;color:var(--mmpo-muted);font-size:14px;margin:14px 0 0}.mmpo-modal{position:fixed;inset:0;background:rgba(15,23,42,.72);z-index:60;display:none;align-items:center;justify-content:center;padding:18px}.mmpo-modal.is-visible{display:flex}.mmpo-modal__box{width:min(560px,100%);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28)}.mmpo-modal__head{padding:18px;border-bottom:1px solid var(--mmpo-border);display:flex;justify-content:space-between;align-items:center}.mmpo-modal__head h3{margin:0;font-size:21px}.mmpo-modal__close{border:none;background:#f3f4f6;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--mmpo-muted);font-size:18px;padding:0}.mmpo-modal__body{padding:18px;display:grid;gap:12px}.mmpo-modal__body label{font-size:13px;font-weight:700;display:grid;gap:6px}.mmpo-modal__footer{padding:16px 18px;border-top:1px solid var(--mmpo-border);display:flex;justify-content:flex-end;gap:10px;background:#f9fafb}.mmpo-modal__footer button{min-height:40px;border-radius:11px;padding:0 16px;border:1px solid var(--mmpo-border);cursor:pointer;font-weight:700}.mmpo-btn-apply{background:var(--mmpo-green);border-color:var(--mmpo-green)!important;color:#fff}.mmpo-crop-modal .mmpo-modal__box{width:min(980px,100%)}.mmpo-crop-area{background:#242424;min-height:520px;display:flex;align-items:center;justify-content:center;padding:34px}.mmpo-crop-frame{width:min(650px,100%);aspect-ratio:3/2;position:relative;border:2px dashed rgba(255,255,255,.8);overflow:hidden;background:#ddd}.mmpo-crop-frame img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}.mmpo-crop-frame span{position:absolute;width:12px;height:12px;background:#fff;border-radius:2px}.mmpo-crop-frame span:nth-child(2){left:-6px;top:-6px}.mmpo-crop-frame span:nth-child(3){right:-6px;top:-6px}.mmpo-crop-frame span:nth-child(4){left:-6px;bottom:-6px}.mmpo-crop-frame span:nth-child(5){right:-6px;bottom:-6px}.mmpo-hidden-settings{display:none}@media(max-width:1100px){.mmpo-workspace.is-visible{grid-template-columns:1fr}.mmpo-sidebar{position:static}.mmpo-photos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.mmpo{padding:0 10px 118px}.mmpo-topbar{align-items:flex-start;flex-direction:column;padding-top:12px;padding-bottom:12px}.mmpo-top-actions{width:100%;justify-content:flex-start}.mmpo-top-btn{flex:1 1 auto}.mmpo-start{padding:18px}.mmpo-start__header h2{font-size:24px}.mmpo-source-grid{grid-template-columns:repeat(2,1fr)}.mmpo-photos-grid{grid-template-columns:1fr}.mmpo-photo-thumb{height:220px}.mmpo-bottom-bar{grid-template-columns:1fr;gap:7px;padding:8px 12px}.mmpo-bottom-add{text-align:center}.mmpo-bottom-order{width:100%}.mmpo-crop-area{min-height:360px;padding:16px}}


/* === v1.3: исправление внешнего вида карточек фотографий === */
.mmpo .mmpo-photos-grid {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
  align-items: start;
}

.mmpo .mmpo-photo-card {
  min-width: 0;
  border-radius: 16px;
  overflow: hidden;
}

.mmpo .mmpo-photo-card__toolbar {
  padding: 8px 10px;
}

.mmpo .mmpo-photo-thumb {
  margin: 8px 10px 10px;
  height: 155px;
  border-radius: 12px;
}

.mmpo .mmpo-photo-card__body {
  padding: 0 10px 12px;
  display: grid;
  gap: 7px;
}

.mmpo .mmpo-photo-card .mmpo-field select,
.mmpo .mmpo-photo-card .mmpo-field input {
  width: 100%;
  height: 38px;
  min-height: 38px;
  border: 1px solid #d7dde8 !important;
  border-radius: 9px !important;
  background-color: #fff !important;
  color: var(--mmpo-text);
  box-shadow: none !important;
  outline: none !important;
  font-size: 14px;
  line-height: 38px;
  padding: 0 10px;
}

.mmpo .mmpo-photo-card .mmpo-field select:focus,
.mmpo .mmpo-photo-card .mmpo-field input:focus {
  border-color: var(--mmpo-blue) !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12) !important;
}

.mmpo .mmpo-qty {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  width: 100%;
  height: 38px;
  border: 1px solid #d7dde8;
  border-radius: 9px;
  overflow: hidden;
  background: #fff;
}

.mmpo .mmpo-qty button {
  width: 40px;
  height: 38px;
  border: 0 !important;
  border-radius: 0 !important;
  background: #0ea5e9;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 38px;
  padding: 0 !important;
  cursor: pointer;
}

.mmpo .mmpo-qty input {
  width: 100%;
  height: 38px;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  text-align: center;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 14px;
}

.mmpo .mmpo-qty input::-webkit-outer-spin-button,
.mmpo .mmpo-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.mmpo .mmpo-qty input[type=number] {
  -moz-appearance: textfield;
}

@media (max-width: 1100px) {
  .mmpo .mmpo-photos-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .mmpo .mmpo-photos-grid {
    grid-template-columns: 1fr !important;
  }

  .mmpo .mmpo-photo-thumb {
    height: 220px;
  }
}


/* === v1.4: нормальное кадрирование под формат печати === */
.mmpo .mmpo-photo-card.is-original .mmpo-photo-thumb {
  background: #f8fafc;
}

.mmpo .mmpo-photo-card.is-original .mmpo-photo-thumb img {
  object-fit: contain !important;
  width: 100%;
  height: 100%;
  transform-origin: center center;
}

.mmpo .mmpo-photo-card.is-cropped .mmpo-photo-thumb {
  background: #111827;
}

.mmpo .mmpo-photo-card.is-cropped .mmpo-photo-thumb img {
  width: 100%;
  height: 100%;
  transform-origin: center center;
}

.mmpo .mmpo-photo-thumb {
  position: relative;
  height: auto !important;
  min-height: 150px;
}

.mmpo .mmpo-original-badge {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 2;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(17, 24, 39, .72);
  color: #fff;
  font-size: 11px;
  line-height: 1.2;
  pointer-events: none;
}

.mmpo .mmpo-crop-modal .mmpo-modal__box {
  width: min(1040px, calc(100vw - 28px));
}

.mmpo .mmpo-crop-help {
  padding: 12px 18px;
  background: #f8fafc;
  border-bottom: 1px solid var(--mmpo-border);
  color: var(--mmpo-muted);
  font-size: 14px;
  line-height: 1.45;
}

.mmpo .mmpo-crop-area {
  background: #232323;
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 34px;
}

.mmpo .mmpo-crop-viewport {
  width: min(760px, 100%);
  height: min(560px, 62vh);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  cursor: grab;
  user-select: none;
}

.mmpo .mmpo-crop-viewport:active {
  cursor: grabbing;
}

.mmpo .mmpo-crop-frame {
  width: min(720px, 100%);
  max-height: 100%;
  aspect-ratio: 1.5;
  position: relative;
  border: 2px solid rgba(255,255,255,.96);
  box-shadow:
    0 0 0 9999px rgba(0,0,0,.42),
    0 0 0 1px rgba(0,0,0,.25) inset;
  overflow: hidden;
  background: #111;
}

.mmpo .mmpo-crop-frame::before,
.mmpo .mmpo-crop-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.mmpo .mmpo-crop-frame::before {
  background:
    linear-gradient(to right, transparent 33.333%, rgba(255,255,255,.55) 33.333%, rgba(255,255,255,.55) calc(33.333% + 1px), transparent calc(33.333% + 1px), transparent 66.666%, rgba(255,255,255,.55) 66.666%, rgba(255,255,255,.55) calc(66.666% + 1px), transparent calc(66.666% + 1px)),
    linear-gradient(to bottom, transparent 33.333%, rgba(255,255,255,.55) 33.333%, rgba(255,255,255,.55) calc(33.333% + 1px), transparent calc(33.333% + 1px), transparent 66.666%, rgba(255,255,255,.55) 66.666%, rgba(255,255,255,.55) calc(66.666% + 1px), transparent calc(66.666% + 1px));
}

.mmpo .mmpo-crop-frame img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  height: 100%;
  min-width: 100%;
  max-width: none !important;
  object-fit: cover;
  display: block;
  opacity: 1;
  transform-origin: center center;
  user-select: none;
  pointer-events: none;
}

.mmpo .mmpo-crop-frame span {
  position: absolute;
  z-index: 4;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 1px 5px rgba(0,0,0,.28);
}

.mmpo .mmpo-crop-frame span:nth-child(2){left:-6px;top:-6px}
.mmpo .mmpo-crop-frame span:nth-child(3){right:-6px;top:-6px}
.mmpo .mmpo-crop-frame span:nth-child(4){left:-6px;bottom:-6px}
.mmpo .mmpo-crop-frame span:nth-child(5){right:-6px;bottom:-6px}

.mmpo .mmpo-crop-controls {
  padding: 14px 18px;
  border-top: 1px solid var(--mmpo-border);
  background: #fff;
}

.mmpo .mmpo-crop-controls label {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  font-weight: 700;
  font-size: 14px;
}

.mmpo .mmpo-crop-controls input[type="range"] {
  width: 100%;
}

@media(max-width:760px){
  .mmpo .mmpo-crop-area {
    min-height: 380px;
    padding: 16px;
  }

  .mmpo .mmpo-crop-viewport {
    height: 360px;
  }

  .mmpo .mmpo-crop-controls label {
    grid-template-columns: 1fr;
  }
}

/* === v1.5: полноэкранное кадрирование рамкой поверх оригинала === */
.mmpo .mmpo-photo-thumb {
  position: relative;
  height: auto !important;
  min-height: 170px;
  background: #111827;
}

.mmpo .mmpo-photo-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  display: block;
  transform: none !important;
}

.mmpo .mmpo-photo-card.is-original .mmpo-photo-thumb {
  background: #f8fafc;
}

.mmpo .mmpo-photo-card.is-original .mmpo-photo-thumb img {
  object-fit: contain !important;
}

.mmpo .mmpo-original-badge {
  position: absolute;
  left: 8px;
  bottom: 8px;
  z-index: 2;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(17, 24, 39, .72);
  color: #fff;
  font-size: 11px;
  line-height: 1.2;
  pointer-events: none;
}

.mmpo .mmpo-crop-modal {
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

.mmpo .mmpo-crop-modal.is-visible {
  display: block !important;
}

.mmpo .mmpo-crop-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: #303030;
  display: grid;
  grid-template-rows: 54px minmax(0, 1fr) auto;
}

.mmpo .mmpo-crop-top {
  height: 54px;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
}

.mmpo .mmpo-crop-close {
  width: 54px;
  height: 54px;
  border: 0;
  background: #fff;
  font-size: 24px;
  cursor: pointer;
  color: #111827;
}

.mmpo .mmpo-crop-title {
  font-size: 17px;
  font-weight: 700;
}

.mmpo .mmpo-crop-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.mmpo .mmpo-crop-top-actions button {
  min-height: 54px;
  border: 0;
  border-left: 1px solid #e5e7eb;
  background: #fff;
  padding: 0 18px;
  cursor: pointer;
  font-weight: 700;
}

.mmpo .mmpo-crop-top-actions .mmpo-crop-save {
  background: #22c55e;
  color: #fff;
}

.mmpo .mmpo-crop-stage {
  position: relative;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 100px;
  overflow: hidden;
}

.mmpo .mmpo-crop-image-wrap {
  position: relative;
  width: min(860px, 100%);
  height: 100%;
  max-height: calc(100vh - 210px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  user-select: none;
}

.mmpo .mmpo-crop-image-wrap > img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  user-select: none;
  pointer-events: none;
}

.mmpo .mmpo-crop-selection {
  position: absolute;
  z-index: 5;
  border: 2px solid #fff;
  box-shadow: 0 0 0 9999px rgba(0,0,0,.42), 0 0 0 1px rgba(0,0,0,.35) inset;
  cursor: move;
}

.mmpo .mmpo-crop-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(to right, transparent 33.333%, rgba(255,255,255,.55) 33.333%, rgba(255,255,255,.55) calc(33.333% + 1px), transparent calc(33.333% + 1px), transparent 66.666%, rgba(255,255,255,.55) 66.666%, rgba(255,255,255,.55) calc(66.666% + 1px), transparent calc(66.666% + 1px)),
    linear-gradient(to bottom, transparent 33.333%, rgba(255,255,255,.55) 33.333%, rgba(255,255,255,.55) calc(33.333% + 1px), transparent calc(33.333% + 1px), transparent 66.666%, rgba(255,255,255,.55) 66.666%, rgba(255,255,255,.55) calc(66.666% + 1px), transparent calc(66.666% + 1px));
}

.mmpo .mmpo-crop-handle {
  position: absolute;
  width: 14px;
  height: 14px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 1px 5px rgba(0,0,0,.35);
}

.mmpo .mmpo-crop-handle--nw { left: -7px; top: -7px; cursor: nwse-resize; }
.mmpo .mmpo-crop-handle--ne { right: -7px; top: -7px; cursor: nesw-resize; }
.mmpo .mmpo-crop-handle--sw { left: -7px; bottom: -7px; cursor: nesw-resize; }
.mmpo .mmpo-crop-handle--se { right: -7px; bottom: -7px; cursor: nwse-resize; }

.mmpo .mmpo-crop-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 68px;
  height: 120px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 70px;
  cursor: pointer;
  opacity: .9;
}

.mmpo .mmpo-crop-arrow--left { left: 24px; }
.mmpo .mmpo-crop-arrow--right { right: 24px; }

.mmpo .mmpo-crop-bottom {
  background: #fff;
  border-top: 1px solid #e5e7eb;
  padding: 14px 18px 18px;
}

.mmpo .mmpo-crop-bottom-fields {
  max-width: 920px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.mmpo .mmpo-crop-bottom-fields label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}

.mmpo .mmpo-crop-bottom-fields select,
.mmpo .mmpo-crop-bottom-fields input {
  width: 100%;
  height: 38px;
  border: 1px solid #d1d5db;
  border-radius: 9px;
  padding: 0 10px;
  background: #fff;
}

.mmpo .mmpo-crop-qty {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  overflow: hidden;
  border: 1px solid #d1d5db;
  border-radius: 9px;
}

.mmpo .mmpo-crop-qty button {
  border: 0;
  background: #0ea5e9;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
}

.mmpo .mmpo-crop-qty input {
  border: 0;
  border-radius: 0;
  text-align: center;
  padding: 0;
}

@media(max-width: 900px) {
  .mmpo .mmpo-crop-stage {
    padding: 20px 54px;
  }

  .mmpo .mmpo-crop-bottom-fields {
    grid-template-columns: 1fr 1fr;
  }

  .mmpo .mmpo-crop-top {
    grid-template-columns: 46px 1fr;
    height: auto;
  }

  .mmpo .mmpo-crop-title {
    padding: 12px 0;
  }

  .mmpo .mmpo-crop-top-actions {
    grid-column: 1 / -1;
    border-top: 1px solid #e5e7eb;
  }

  .mmpo .mmpo-crop-top-actions button {
    flex: 1;
    min-height: 44px;
  }
}

/* === v1.6: жёсткая рамка выбранного формата === */
.mmpo .mmpo-crop-selection {
  cursor: move !important;
}

.mmpo .mmpo-crop-handle {
  cursor: move !important;
}

.mmpo .mmpo-crop-selection::after {
  content: attr(data-format);
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 6;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #111827;
  font-size: 12px;
  font-weight: 700;
  pointer-events: none;
}

.mmpo .mmpo-crop-title::after {
  content: " — рамка строго соответствует выбранному размеру";
  color: #6b7280;
  font-weight: 400;
  font-size: 14px;
}

.mmpo .mmpo-crop-bottom-fields label:nth-child(2)::after {
  content: "Рамка автоматически перестраивается под выбранный формат";
  font-size: 11px;
  line-height: 1.2;
  color: #6b7280;
  font-weight: 400;
}


/* === v1.7: горизонтальная/вертикальная рамка === */
.mmpo .mmpo-crop-top-actions button[data-mmpo-toggle-orientation] {
  min-width: 190px;
}

/* === v1.9: кадрирование поверх шапки сайта, без стрелок === */
.mmpo .mmpo-crop-modal,
.mmpo-crop-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: #303030 !important;
}

.mmpo .mmpo-crop-modal.is-visible,
.mmpo-crop-modal.is-visible {
  display: block !important;
}

.mmpo .mmpo-crop-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483001 !important;
  width: 100vw !important;
  height: 100vh !important;
}

.mmpo .mmpo-crop-arrow {
  display: none !important;
}

.mmpo .mmpo-crop-stage {
  padding-left: 28px !important;
  padding-right: 28px !important;
}


/* === v2.0: временное сообщение и декор рамок === */
.mmpo .mmpo-alert--success {
  transition: opacity .25s ease, transform .25s ease;
}

.mmpo .mmpo-file-note,
.mmpo-file-note {
  display: block;
  color: #6b7280;
  font-size: 12px;
  margin-top: 3px;
}


/* === v2.1: видимые рамки и движимый декор === */
.mmpo .mmpo-frame-preview {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  display: none;
}

.mmpo .mmpo-frame-preview.is-white,
.mmpo .mmpo-frame-preview.is-black,
.mmpo .mmpo-frame-preview.is-polaroid {
  display: block;
}

.mmpo .mmpo-frame-preview.is-white.is-thin {
  box-shadow: inset 0 0 0 12px #fff;
}

.mmpo .mmpo-frame-preview.is-white.is-wide {
  box-shadow: inset 0 0 0 34px #fff;
}

.mmpo .mmpo-frame-preview.is-black.is-thin {
  box-shadow: inset 0 0 0 12px #000;
}

.mmpo .mmpo-frame-preview.is-black.is-wide {
  box-shadow: inset 0 0 0 34px #000;
}

.mmpo .mmpo-frame-preview.is-polaroid {
  box-shadow:
    inset 0 0 0 22px #fff,
    inset 0 -58px 0 #fff;
}

.mmpo .mmpo-decor-preview {
  position: absolute;
  z-index: 8;
  display: none;
  min-width: 40px;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px dashed rgba(255,255,255,.8);
  border-radius: 8px;
  color: #ec4899;
  background: rgba(255,255,255,.5);
  font-size: 24px;
  line-height: 1;
  cursor: move;
  user-select: none;
}

.mmpo .mmpo-crop-bottom-fields {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media(max-width: 900px) {
  .mmpo .mmpo-crop-bottom-fields {
    grid-template-columns: 1fr 1fr;
  }
}


/* === v2.2: декор из админки как изображение === */
.mmpo .mmpo-decor-preview {
  background: transparent !important;
  border: 1px dashed rgba(255,255,255,.9);
  padding: 0;
  min-width: 60px;
  min-height: 60px;
  width: 22%;
  max-width: 180px;
}

.mmpo .mmpo-decor-preview img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
}


/* === v2.5: несколько элементов декора и редактируемый текст === */
.mmpo .mmpo-decor-layer {
  position: absolute;
  inset: 0;
  z-index: 9;
  pointer-events: none;
}

.mmpo .mmpo-decor-element {
  position: absolute;
  display: block;
  min-width: 44px;
  min-height: 28px;
  cursor: move;
  pointer-events: auto;
  user-select: none;
  border: 1px dashed rgba(255,255,255,.95);
  border-radius: 6px;
}

.mmpo .mmpo-decor-element.is-selected {
  outline: 2px solid #38bdf8;
  outline-offset: 2px;
}

.mmpo .mmpo-decor-element img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
}

.mmpo .mmpo-decor-element.is-text {
  width: auto !important;
  padding: 4px 8px;
  background: rgba(0,0,0,.18);
  color: #fff;
  font-weight: 700;
  text-shadow: 0 1px 3px rgba(0,0,0,.55);
  white-space: nowrap;
}

.mmpo .mmpo-decor-remove {
  position: absolute;
  right: -10px;
  top: -10px;
  z-index: 3;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 50%;
  background: #ef4444;
  color: #fff;
  font-size: 15px;
  line-height: 22px;
  padding: 0;
  cursor: pointer;
}

.mmpo .mmpo-decor-resize {
  position: absolute;
  right: -7px;
  bottom: -7px;
  width: 15px;
  height: 15px;
  border-radius: 3px;
  background: #38bdf8;
  cursor: nwse-resize;
}

.mmpo .mmpo-crop-tools {
  display: grid;
  gap: 6px;
  align-self: end;
}

.mmpo .mmpo-text-editor {
  max-width: 920px;
  margin: 0 auto 10px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-radius: 10px;
  background: #eff6ff;
  grid-template-columns: minmax(180px, 1fr) 90px minmax(160px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.mmpo .mmpo-text-editor label {
  display: grid;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
}

.mmpo .mmpo-text-editor input[type="text"] {
  width: 100%;
}

.mmpo .mmpo-crop-bottom-fields {
  grid-template-columns: repeat(6, minmax(0, 1fr)) auto;
}

@media(max-width: 900px) {
  .mmpo .mmpo-text-editor,
  .mmpo .mmpo-crop-bottom-fields {
    grid-template-columns: 1fr 1fr;
  }
}


/* === v2.6: модальное окно декора, слои и единый вид текста === */
.mmpo .mmpo-crop-bottom-fields label:nth-child(2)::after {
  content: none !important;
  display: none !important;
}

.mmpo .mmpo-decor-picker {
  position: fixed;
  inset: 0;
  z-index: 2147483010;
  background: rgba(17, 24, 39, .72);
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.mmpo .mmpo-decor-picker__box {
  width: min(920px, 100%);
  max-height: 82vh;
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}

.mmpo .mmpo-decor-picker__head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
}

.mmpo .mmpo-decor-picker__head button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f3f4f6;
  cursor: pointer;
  font-size: 20px;
}

.mmpo .mmpo-decor-picker__grid {
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 14px;
}

.mmpo .mmpo-decor-choice {
  min-height: 150px;
  border: 1px solid #d1d5db;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  padding: 10px;
  display: grid;
  gap: 8px;
  text-align: center;
}

.mmpo .mmpo-decor-choice:hover {
  border-color: #2563eb;
  box-shadow: 0 0 0 2px rgba(37,99,235,.12);
}

.mmpo .mmpo-decor-choice span {
  height: 104px;
  border-radius: 10px;
  background:
    linear-gradient(45deg, #eef2f7 25%, transparent 25%),
    linear-gradient(-45deg, #eef2f7 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #eef2f7 75%),
    linear-gradient(-45deg, transparent 75%, #eef2f7 75%);
  background-size: 18px 18px;
  background-position: 0 0, 0 9px, 9px -9px, -9px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mmpo .mmpo-decor-choice img {
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.mmpo .mmpo-decor-choice strong {
  font-size: 13px;
}

.mmpo .mmpo-decor-picker__empty {
  grid-column: 1 / -1;
  padding: 24px;
  text-align: center;
  color: #6b7280;
  background: #f9fafb;
  border-radius: 12px;
}

.mmpo .mmpo-layer-tools {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.mmpo .mmpo-text-editor {
  grid-template-columns: minmax(180px, 1fr) 90px minmax(160px, 1fr) auto auto !important;
}

.mmpo .mmpo-decor-element.is-text {
  font-family: Arial, "DejaVu Sans", sans-serif !important;
  font-weight: 700 !important;
}


/* === v2.6.3: выбор шрифта для надписи === */
.mmpo .mmpo-text-editor {
  grid-template-columns: minmax(170px, 1fr) 90px 140px minmax(160px, 1fr) auto auto !important;
}

.mmpo .mmpo-text-editor select {
  width: 100%;
}

@media(max-width: 900px) {
  .mmpo .mmpo-text-editor {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* === v2.6.4: параметры текста === */
.mmpo .mmpo-text-editor{grid-template-columns:minmax(160px,1.2fr) 90px 130px 130px minmax(160px,1fr) auto auto !important;}
.mmpo .mmpo-decor-element.is-text{background:rgba(0,0,0,.12); border-style:dashed; white-space:nowrap;}
@media(max-width:1100px){.mmpo .mmpo-text-editor{grid-template-columns:1fr 1fr 1fr !important;}}


/* === v2.6.5: функция текста отключена === */
.mmpo .mmpo-text-editor,
.mmpo [data-mmpo-add-text] {
  display: none !important;
}


/* v2.7.1 decor filter */
.mmpo .mmpo-decor-picker__toolbar {
  position: sticky;
  top: 67px;
  z-index: 1;
  background: #fff;
  border-bottom: 1px solid #eef2f7;
  padding: 14px 18px 12px;
}

.mmpo .mmpo-decor-picker__search {
  width: 100%;
  height: 42px;
  padding: 0 14px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  font-size: 14px;
  margin-bottom: 12px;
}

.mmpo .mmpo-decor-picker__cats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.mmpo .mmpo-decor-cat {
  border: 1px solid #d1d5db;
  background: #fff;
  color: #374151;
  border-radius: 999px;
  padding: 7px 12px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.2;
}

.mmpo .mmpo-decor-cat.is-active {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

.mmpo .mmpo-decor-choice em {
  display: inline-block;
  margin-top: 4px;
  font-style: normal;
  font-size: 11px;
  color: #6b7280;
}


/* v2.9.0 file validation */
.mmpo .mmpo-validation-box {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #f59e0b;
  border-radius: 12px;
  background: #fffbeb;
  color: #78350f;
}

.mmpo .mmpo-validation-box strong {
  display: block;
  margin-bottom: 6px;
}

.mmpo .mmpo-validation-box ul {
  margin: 0;
  padding-left: 18px;
}

.mmpo .mmpo-validation-box li {
  margin: 0 0 5px;
  font-size: 13px;
}

.mmpo .mmpo-validation-box small {
  display: block;
  margin-top: 6px;
  color: #92400e;
}


/* v2.9.1 validation layout fix */
.mmpo .mmpo-validation-box {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.mmpo .mmpo-validation-box,
.mmpo .mmpo-validation-box ul,
.mmpo .mmpo-validation-box li,
.mmpo .mmpo-order-summary,
.mmpo .mmpo-order-summary * {
  word-break: break-word;
  overflow-wrap: anywhere;
}

.mmpo .mmpo-validation-box li {
  line-height: 1.45;
}

.mmpo .mmpo-order-info,
.mmpo .mmpo-order-summary {
  min-width: 0;
}

.mmpo .mmpo-right-col,
.mmpo .mmpo-sidebar,
.mmpo .mmpo-summary {
  min-width: 0;
}


/* v3.0.6 cloud source UI */
.mmpo .mmpo-source-grid--two {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.mmpo .mmpo-source--cloud {
  background: linear-gradient(135deg, #60a5fa, #8b5cf6);
  color: #fff;
}

.mmpo .mmpo-cloud-modal__box {
  max-width: 720px;
}

.mmpo .mmpo-cloud-providers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}

.mmpo .mmpo-cloud-provider {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 6px 12px;
  align-items: center;
  text-align: left;
  border: 1px solid #e5e7eb;
  background: #fff;
  border-radius: 16px;
  padding: 16px;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.mmpo .mmpo-cloud-provider:hover {
  transform: translateY(-1px);
  border-color: #93c5fd;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .10);
}

.mmpo .mmpo-cloud-provider span {
  grid-row: span 2;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #f3f4f6;
  font-size: 20px;
}

.mmpo .mmpo-cloud-provider strong {
  color: #111827;
  font-size: 15px;
}

.mmpo .mmpo-cloud-provider small {
  color: #6b7280;
  line-height: 1.35;
}

.mmpo .mmpo-cloud-note {
  margin: 0 18px 18px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #eff6ff;
  color: #1e3a8a;
  line-height: 1.45;
}

.mmpo .mmpo-cloud-note.is-highlighted {
  background: #dbeafe;
}

@media (max-width: 680px) {
  .mmpo .mmpo-source-grid--two,
  .mmpo .mmpo-cloud-providers {
    grid-template-columns: 1fr;
  }
}


/* v3.0.7 cloud service icons */
.mmpo .mmpo-cloud-icon {
  grid-row: span 2;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: #f8fafc;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06);
}

.mmpo .mmpo-cloud-icon svg {
  width: 30px;
  height: 30px;
  display: block;
}

.mmpo .mmpo-cloud-icon--google {
  background: #f8fafc;
}

.mmpo .mmpo-cloud-icon--yandex {
  background: #fff5f2;
}

.mmpo .mmpo-cloud-icon--dropbox {
  background: #eff6ff;
}

.mmpo .mmpo-cloud-icon--onedrive {
  background: #ecfeff;
}

/* Старое правило для span оставляем совместимым, но не применяем к SVG-иконкам */
.mmpo .mmpo-cloud-provider > span:not(.mmpo-cloud-icon) {
  grid-row: span 2;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #f3f4f6;
  font-size: 20px;
}

.mmpo .mmpo-cloud-provider {
  min-height: 92px;
}


/* v3.0.8 cloud provider statuses */
.mmpo .mmpo-cloud-provider em {
  grid-column: 2;
  justify-self: start;
  display: inline-flex;
  margin-top: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #6b7280;
  font-style: normal;
  font-size: 11px;
  line-height: 1.2;
}

.mmpo .mmpo-cloud-provider.is-configured {
  border-color: #86efac;
  background: #f0fdf4;
}

.mmpo .mmpo-cloud-provider.is-configured em {
  background: #dcfce7;
  color: #166534;
}

.mmpo .mmpo-cloud-provider.is-enabled {
  border-color: #fde68a;
  background: #fffbeb;
}

.mmpo .mmpo-cloud-provider.is-enabled em {
  background: #fef3c7;
  color: #92400e;
}

.mmpo .mmpo-cloud-provider.is-disabled {
  opacity: .86;
}


/* v3.0.9 Google Drive picker */
.mmpo .mmpo-cloud-provider[data-provider="google-drive"].is-configured {
  cursor: pointer;
}

.mmpo .mmpo-cloud-note {
  min-height: 42px;
}


/* v3.1.0 Yandex Disk picker */
.mmpo .mmpo-cloud-file-picker {
  margin: 0 18px 18px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.mmpo .mmpo-cloud-file-picker__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
  background: #f8fafc;
}

.mmpo .mmpo-cloud-file-picker__download {
  border: 0;
  border-radius: 10px;
  background: #2563eb;
  color: #fff;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 700;
}

.mmpo .mmpo-cloud-file-picker__list {
  display: grid;
  max-height: 310px;
  overflow: auto;
}

.mmpo .mmpo-cloud-file-row {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid #f1f5f9;
  cursor: pointer;
}

.mmpo .mmpo-cloud-file-row:hover {
  background: #f8fafc;
}

.mmpo .mmpo-cloud-file-row span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  min-width: 0;
}

.mmpo .mmpo-cloud-file-row strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.mmpo .mmpo-cloud-file-row small {
  flex: 0 0 auto;
  color: #6b7280;
}

.mmpo .mmpo-cloud-file-picker__empty {
  padding: 16px;
  color: #6b7280;
}


/* v3.1.1 Yandex Disk thumbnails */
.mmpo .mmpo-cloud-file-picker__list--thumbs {
  gap: 0;
}

.mmpo .mmpo-cloud-file-row--thumb {
  grid-template-columns: 22px 64px 1fr;
  gap: 12px;
  align-items: center;
}

.mmpo .mmpo-cloud-file-thumb {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
  display: block;
  background: #f3f4f6;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06);
}

.mmpo .mmpo-cloud-file-thumb--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: #6b7280;
  text-align: center;
  padding: 6px;
  line-height: 1.2;
}

.mmpo .mmpo-cloud-file-row--thumb span {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
}

.mmpo .mmpo-cloud-file-row--thumb small {
  color: #6b7280;
}

@media (max-width: 640px) {
  .mmpo .mmpo-cloud-file-row--thumb {
    grid-template-columns: 22px 52px 1fr;
  }

  .mmpo .mmpo-cloud-file-thumb {
    width: 52px;
    height: 52px;
  }
}


/* v3.1.2 Yandex Disk protected thumbnails */
.mmpo .mmpo-cloud-file-thumb--loading {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 10px;
  text-align: center;
  padding: 6px;
  line-height: 1.2;
  background: linear-gradient(90deg, #f1f5f9, #e2e8f0, #f1f5f9);
  background-size: 200% 100%;
  animation: mmpo-thumb-loading 1.1s linear infinite;
}

@keyframes mmpo-thumb-loading {
  from { background-position: 0 0; }
  to { background-position: 200% 0; }
}


/* v3.1.3 cloud account switch */
.mmpo .mmpo-cloud-actions {
  display: flex;
  justify-content: flex-end;
  padding: 0 18px 12px;
}

.mmpo .mmpo-cloud-switch-account {
  border: 1px solid #d1d5db;
  background: #fff;
  color: #374151;
  border-radius: 10px;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 700;
}

.mmpo .mmpo-cloud-switch-account:hover {
  border-color: #93c5fd;
  color: #1d4ed8;
  background: #eff6ff;
}


/* v3.1.5 Dropbox Chooser */
.mmpo .mmpo-cloud-provider[data-provider="dropbox"].is-configured {
  cursor: pointer;
}


/* v3.1.7 OneDrive Picker */
.mmpo .mmpo-cloud-provider[data-provider="onedrive"].is-configured {
  cursor: pointer;
}


/* v3.1.8 clean cloud modal for clients */
.mmpo .mmpo-cloud-provider em,
.mmpo .mmpo-cloud-provider [data-cloud-status] {
  display: none !important;
}

.mmpo .mmpo-cloud-provider small:empty {
  display: none;
}

.mmpo .mmpo-cloud-provider {
  grid-template-columns: 52px 1fr;
}

.mmpo .mmpo-cloud-provider strong {
  align-self: center;
}


/* v3.1.9 cloud modal visual fixes */
.mmpo .mmpo-modal,
.mmpo .mmpo-cloud-modal,
.mmpo .mmpo-crop-modal,
.mmpo .mmpo-decor-modal {
  z-index: 2147483000 !important;
}

.mmpo .mmpo-modal__box,
.mmpo .mmpo-cloud-modal__box {
  position: relative;
  z-index: 2147483001 !important;
}

.mmpo .mmpo-cloud-provider {
  grid-template-columns: 52px 1fr;
  align-items: center;
}

.mmpo .mmpo-cloud-provider strong {
  align-self: end;
}

.mmpo .mmpo-cloud-provider small {
  display: block;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.25;
  margin-top: 3px;
}

.mmpo .mmpo-cloud-provider em,
.mmpo .mmpo-cloud-provider [data-cloud-status] {
  display: none !important;
}
