/* ABGUL V592 — mold tools inside the existing builder only.
   No standalone mold page, no second viewport, no builder mode switch. */
.mold-quick-panel.hidden,.mold-inline-toast.hidden,.mold-inline-exports.hidden{display:none!important}
@keyframes mold-spin{to{transform:rotate(360deg)}}
/* === V592: mold tools live inside the ONE existing builder viewport === */
.viewer-toolbar__btn--mold{border-color:rgba(56,189,248,.38)!important;background:linear-gradient(135deg,rgba(14,165,233,.14),rgba(14,165,233,.05))!important;color:#bfeaff!important;font-weight:800!important}
.viewer-toolbar__btn--mold.is-active{background:linear-gradient(135deg,#168ee2,#0e73ba)!important;border-color:#38bdf8!important;color:#fff!important;box-shadow:0 0 0 1px rgba(56,189,248,.18),0 5px 18px rgba(14,165,233,.18)!important}
.viewer-toolbar__btn--mold.is-busy{position:relative;padding-left:24px!important;pointer-events:none;opacity:.86}.viewer-toolbar__btn--mold.is-busy:before{content:"";position:absolute;left:8px;width:10px;height:10px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:mold-spin .7s linear infinite}
.viewer-toolbar__btn--mold-tool{display:inline-flex!important}.viewer-toolbar__btn--mold-tool.is-active,.viewer-toolbar__btn--mold-settings.is-active{border-color:rgba(56,189,248,.46)!important;background:rgba(14,165,233,.12)!important;color:#dff7ff!important}

.mold-quick-panel{position:absolute;z-index:46;top:54px;right:12px;width:min(390px,calc(100% - 24px));max-height:min(690px,calc(100% - 78px));overflow:auto;padding:10px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(12,18,27,.97);box-shadow:0 22px 70px rgba(0,0,0,.38);backdrop-filter:blur(18px);color:#e7eef6}.mold-quick-panel__head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:4px 3px 9px}.mold-quick-panel__head strong,.mold-quick-panel__head span{display:block}.mold-quick-panel__head strong{font-size:14px}.mold-quick-panel__head span{margin-top:2px;color:#8295aa;font-size:10px;line-height:1.3}.mold-quick-panel__close{width:28px;height:28px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#111b28;color:#aebdcd;font-size:18px;cursor:pointer}.mold-quick-panel__close:hover{color:#fff;border-color:#3b82f6}
.mold-quick-score{padding:9px 10px;margin-bottom:7px;border:1px solid rgba(56,189,248,.13);border-radius:10px;background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(34,197,94,.04))}.mold-quick-score span,.mold-quick-score small{display:block}.mold-quick-score span{color:#7f92a7;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.mold-quick-score strong{display:block;margin:2px 0;color:#dff8ff;font-size:16px}.mold-quick-score small{color:#7790a7;font-size:9px;line-height:1.35}
.mold-quick-section{border:1px solid rgba(148,163,184,.11);border-radius:10px;background:#101720;margin-top:6px;overflow:hidden}.mold-quick-section>summary{padding:9px 10px;cursor:pointer;list-style:none;font-size:10px;font-weight:800;color:#c4d0dd}.mold-quick-section>summary::-webkit-details-marker{display:none}.mold-quick-section[open]>summary{border-bottom:1px solid rgba(148,163,184,.08);color:#eaf7ff}.mold-quick-section>div,.mold-quick-section>label{margin:8px 9px}.mold-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mold-quick-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.mold-quick-field{min-width:0}.mold-quick-field--wide{grid-column:1/-1}.mold-quick-field span{display:block;margin:0 0 4px;color:#788da3;font-size:8px}.mold-quick-panel .input{width:100%;min-height:32px;padding:5px 7px;font-size:10px}.mold-inline-axis{display:grid!important;grid-template-columns:repeat(4,1fr);gap:3px;padding:3px;border-radius:9px;background:#0a1119}.mold-inline-axis button{border:0;border-radius:7px;background:transparent;color:#7d8fa2;min-height:28px;font-size:9px;cursor:pointer}.mold-inline-axis button.is-active{background:#153047;color:#dff7ff}.mold-inline-upload{position:relative;display:block!important;padding:8px 9px!important;border:1px dashed #34495f;border-radius:8px;color:#91a6ba;font-size:9px;cursor:pointer}.mold-inline-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.mold-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.mold-quick-actions .btn{min-height:34px;padding:6px 8px;font-size:9px}.mold-quick-actions #mold-inline-calculator{grid-column:1/-1}.mold-inline-exports{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.mold-inline-exports a{padding:6px 8px;border:1px solid #2b4055;border-radius:7px;background:#101b28;color:#cbeafa;text-decoration:none;font-size:9px}.mold-inline-warnings{display:grid;gap:4px;margin-top:7px}.mold-inline-warnings div{padding:6px 8px;border-radius:7px;background:rgba(245,158,11,.10);color:#e9c77e;font-size:8px;line-height:1.35}
.mold-inline-toast{position:absolute;z-index:44;left:50%;bottom:20px;transform:translateX(-50%);max-width:min(640px,calc(100% - 30px));padding:8px 12px;border:1px solid rgba(56,189,248,.24);border-radius:999px;background:rgba(9,16,25,.92);color:#cfefff;font-size:10px;box-shadow:0 12px 34px rgba(0,0,0,.25);pointer-events:none}.mold-inline-toast.is-error{border-color:rgba(239,68,68,.3);color:#fecaca}
@media(max-width:920px){.viewer-toolbar__btn--mold-tool{display:none!important}.viewer-toolbar__btn--mold-settings{display:inline-flex!important}.mold-quick-panel{top:58px;right:8px;width:min(370px,calc(100% - 16px))}}
@media(max-width:560px){.mold-quick-grid,.mold-quick-grid--3{grid-template-columns:1fr}.mold-quick-field--wide{grid-column:auto}.mold-quick-actions{grid-template-columns:1fr}.mold-quick-actions #mold-inline-calculator{grid-column:auto}.mold-quick-panel{max-height:calc(100% - 70px)}}
.mold-inline-feature-actions{display:flex!important;gap:5px;margin-top:7px!important}.mold-inline-feature-actions .btn{flex:1;min-height:30px;padding:5px 7px;font-size:8px}.mold-inline-feature-list{display:grid!important;gap:4px;margin-top:6px!important}.mold-inline-feature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;padding:6px 7px;border-radius:7px;background:#0b131c}.mold-inline-feature strong,.mold-inline-feature small{display:block}.mold-inline-feature strong{font-size:8px;color:#c9d7e4}.mold-inline-feature small{margin-top:2px;color:#6e8195;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mold-inline-feature__actions{display:flex;gap:3px}.mold-inline-feature__actions button{width:24px;height:24px;border:1px solid #263a4d;border-radius:6px;background:#111c28;color:#9db0c3;cursor:pointer}.mold-inline-feature__actions button:hover{border-color:#38bdf8;color:#e4f7ff}
.viewer-card--builder.is-mold-active .viewer-dimensions{display:none!important}
.mold-inline-project-row{display:flex;gap:5px;margin-top:7px}.mold-inline-project-row button,.mold-inline-project-row label{position:relative;flex:1;display:grid;place-items:center;min-height:28px;border:1px solid #25394d;border-radius:7px;background:#0f1925;color:#8fa4b8;font:inherit;font-size:8px;cursor:pointer}.mold-inline-project-row input{position:absolute;inset:0;opacity:0;cursor:pointer}

.mold-body-shape-help {
  grid-column: 1 / -1;
  display: block;
  margin: -2px 0 4px;
  color: var(--muted, #6b7280);
  font-size: 11px;
  line-height: 1.35;
}

/* V595: prominent model-surface body control */
.viewer-toolbar__btn--mold-surface{display:inline-flex!important;border-color:rgba(167,139,250,.38)!important;background:linear-gradient(135deg,rgba(139,92,246,.16),rgba(76,29,149,.08))!important;color:#e9ddff!important;font-weight:800!important}
.viewer-toolbar__btn--mold-surface.is-active{background:linear-gradient(135deg,#7c3aed,#5b21b6)!important;border-color:#a78bfa!important;color:#fff!important;box-shadow:0 0 0 1px rgba(167,139,250,.18),0 5px 18px rgba(124,58,237,.18)!important}
.mold-surface-quick{display:block;width:100%;margin:7px 0 2px;padding:10px 11px;border:1px solid rgba(167,139,250,.28);border-radius:10px;background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(24,24,35,.9));color:#e9ddff;text-align:left;cursor:pointer}
.mold-surface-quick strong,.mold-surface-quick span{display:block}.mold-surface-quick strong{font-size:10px}.mold-surface-quick span{margin-top:3px;color:#a8a2bd;font-size:8px;line-height:1.35}.mold-surface-quick:hover,.mold-surface-quick.is-active{border-color:#a78bfa;background:linear-gradient(135deg,rgba(124,58,237,.24),rgba(24,24,35,.95))}
@media(max-width:920px){.viewer-toolbar__btn--mold-surface{display:inline-flex!important}}

/* v596 — compact hover menus for mold tools */
.viewer-toolbar-menu{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}
.viewer-toolbar__btn--mold-menu{display:inline-flex!important;align-items:center;gap:5px;border-color:rgba(56,189,248,.24)!important;background:rgba(14,165,233,.07)!important;color:#cfeeff!important;font-weight:700!important}
.viewer-toolbar-menu__chevron{font-size:9px;opacity:.72;transition:transform .16s ease}
.viewer-toolbar-menu__popover{position:absolute;z-index:190;top:calc(100% - 1px);right:0;display:grid;gap:4px;width:220px;padding:6px;border:1px solid rgba(148,163,184,.18);border-radius:11px;background:rgba(10,16,24,.98);box-shadow:0 18px 44px rgba(0,0,0,.42);backdrop-filter:blur(16px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease,visibility 0s linear .12s;will-change:opacity,transform}
.viewer-toolbar-menu__popover::before{content:'';position:absolute;right:0;bottom:100%;left:0;height:10px}
.viewer-toolbar-menu__popover--wide{width:274px}
.viewer-toolbar-menu:hover>.viewer-toolbar-menu__popover,.viewer-toolbar-menu:focus-within>.viewer-toolbar-menu__popover,.viewer-toolbar-menu.is-open>.viewer-toolbar-menu__popover{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
.viewer-toolbar-menu:hover>.viewer-toolbar__btn--mold-menu .viewer-toolbar-menu__chevron,.viewer-toolbar-menu:focus-within>.viewer-toolbar__btn--mold-menu .viewer-toolbar-menu__chevron,.viewer-toolbar-menu.is-open>.viewer-toolbar__btn--mold-menu .viewer-toolbar-menu__chevron{transform:rotate(180deg)}
.viewer-toolbar-menu__item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#d6e1ec;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}
.viewer-toolbar-menu__item strong{font:inherit;font-size:10px;font-weight:800;line-height:1.2}
.viewer-toolbar-menu__item small{color:#74879a;font-size:8px;line-height:1.3}
.viewer-toolbar-menu__item:hover,.viewer-toolbar-menu__item:focus-visible{outline:none;border-color:rgba(56,189,248,.22);background:rgba(56,189,248,.08);color:#f4fbff}
.viewer-toolbar-menu__item.is-active{border-color:rgba(56,189,248,.42);background:rgba(14,165,233,.14);color:#e9f9ff}
.viewer-toolbar-menu__item.is-active small{color:#9fd8f3}
.viewer-toolbar-menu__item--surface.is-active{border-color:rgba(167,139,250,.48);background:rgba(124,58,237,.17);color:#f1eaff}
.viewer-toolbar-menu__item--surface.is-active small{color:#c9b8ff}
body[data-theme="light"] .viewer-toolbar__btn--mold-menu{background:rgba(14,165,233,.08)!important;color:#075985!important;border-color:rgba(2,132,199,.23)!important}
body[data-theme="light"] .viewer-toolbar-menu__popover{background:rgba(255,255,255,.98);border-color:rgba(15,23,42,.13);box-shadow:0 16px 38px rgba(15,23,42,.18)}
body[data-theme="light"] .viewer-toolbar-menu__item{color:#183046}
body[data-theme="light"] .viewer-toolbar-menu__item small{color:#64748b}
body[data-theme="light"] .viewer-toolbar-menu__item:hover,body[data-theme="light"] .viewer-toolbar-menu__item:focus-visible{background:#eef8fd;border-color:rgba(2,132,199,.18);color:#0c4a6e}
body[data-theme="light"] .viewer-toolbar-menu__item.is-active{background:#e0f2fe;border-color:#7dd3fc;color:#075985}
body[data-theme="light"] .viewer-toolbar-menu__item--surface.is-active{background:#f3e8ff;border-color:#c4b5fd;color:#5b21b6}
@media(max-width:920px){
  .viewer-toolbar-menu__popover{position:fixed;top:66px;right:8px;left:auto;width:min(284px,calc(100vw - 16px));max-height:calc(100vh - 78px);overflow:auto}
  .viewer-toolbar-menu__popover--wide{width:min(316px,calc(100vw - 16px))}
}

/* v597 — ephemeral mold uploads: server temp + local browser recovery */
.mold-temp-storage{display:grid!important;gap:6px;margin:8px 9px!important;padding:9px 10px;border:1px solid rgba(56,189,248,.14);border-radius:9px;background:rgba(8,16,24,.7)}
.mold-temp-storage>strong{font-size:9px;color:#ccefff}.mold-temp-storage>span{font-size:8px;line-height:1.4;color:#71879b}
.mold-temp-storage__state{padding:6px 7px;border-radius:7px;background:rgba(15,28,40,.8);color:#9fb4c7;font-size:8px;line-height:1.35}
.mold-temp-storage__actions{display:flex;gap:5px}.mold-temp-storage__actions button{flex:1;min-height:27px;padding:5px 6px;border:1px solid #2a4053;border-radius:7px;background:#101c28;color:#a8bdcf;font:inherit;font-size:8px;cursor:pointer}.mold-temp-storage__actions button:hover{border-color:#38bdf8;color:#e7f8ff}.mold-temp-storage__actions button.hidden{display:none!important}
body[data-theme="light"] .mold-temp-storage{background:#f8fbfd;border-color:#d9edf7}body[data-theme="light"] .mold-temp-storage>strong{color:#0c4a6e}body[data-theme="light"] .mold-temp-storage>span{color:#64748b}body[data-theme="light"] .mold-temp-storage__state{background:#edf6fa;color:#475569}body[data-theme="light"] .mold-temp-storage__actions button{background:#fff;color:#334155;border-color:#cbd5e1}

/* v599 — dropdown portal: render mold menus above the clipped 3D viewer toolbar. */
.mold-toolbar-portal{
  position:fixed;
  inset:0;
  z-index:10050;
  pointer-events:none;
}
.mold-toolbar-portal[aria-hidden="true"]{visibility:hidden}
.viewer-toolbar-menu__popover.is-portaled{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  z-index:10051!important;
  pointer-events:auto;
  max-height:min(520px,calc(100vh - 16px));
  overflow:auto;
  overscroll-behavior:contain;
  transform:translateY(-3px);
}
.viewer-toolbar-menu__popover.is-portaled.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
  transition-delay:0s!important;
}
.viewer-toolbar-menu__popover.is-portaled::before{display:none!important}
.viewer-toolbar-menu__popover.is-portaled.opens-up{transform-origin:bottom right}
@media(max-width:920px){
  .viewer-toolbar-menu__popover.is-portaled{
    position:fixed!important;
    right:auto!important;
    width:min(284px,calc(100vw - 16px))!important;
    max-height:calc(100vh - 16px)!important;
  }
  .viewer-toolbar-menu__popover--wide.is-portaled{width:min(316px,calc(100vw - 16px))!important}
}

/* V606: grouped Builder tools shared by users, doctors and administrators. */
.viewer-toolbar__btn--menu {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  border-color: rgba(56, 189, 248, .24) !important;
  background: rgba(14, 165, 233, .07) !important;
  color: #cfeeff !important;
  font-weight: 800 !important;
}
.viewer-toolbar-menu:hover > .viewer-toolbar__btn--menu .viewer-toolbar-menu__chevron,
.viewer-toolbar-menu:focus-within > .viewer-toolbar__btn--menu .viewer-toolbar-menu__chevron,
.viewer-toolbar-menu.is-open > .viewer-toolbar__btn--menu .viewer-toolbar-menu__chevron {
  transform: rotate(180deg);
}
.viewer-toolbar-menu:has(.viewer-toolbar-menu__item.is-active) > .viewer-toolbar__btn--menu {
  border-color: rgba(56, 189, 248, .5) !important;
  background: rgba(14, 165, 233, .16) !important;
  color: #f0f9ff !important;
}
.viewer-toolbar-menu__popover--grouped {
  width: 300px;
  gap: 5px;
  padding: 8px;
  border-radius: 8px;
}
.viewer-toolbar-menu__popover--mega {
  grid-template-columns: minmax(170px, .75fr) minmax(230px, 1.15fr) minmax(170px, .8fr) minmax(210px, 1fr);
  align-items: start;
  gap: 8px;
  width: min(900px, calc(100vw - 24px));
  padding: 9px;
  border-radius: 8px;
}
.viewer-toolbar-menu__section {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
  padding: 5px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 8px;
  background: rgba(255, 255, 255, .025);
}
.viewer-toolbar-menu__section-title {
  padding: 4px 8px 6px;
  color: #7dd3fc;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}
.viewer-toolbar-menu__item {
  position: relative;
  min-height: 46px;
  padding: 8px 10px;
  border-radius: 7px;
}
.viewer-toolbar-menu__item strong {
  padding-right: 42px;
  font-size: 12px;
  line-height: 1.25;
}
.viewer-toolbar-menu__item small {
  font-size: 10px;
  line-height: 1.35;
}
.viewer-toolbar__btn--menu.premium-action.is-locked::after {
  content: var(--abgul-label-63f5c2c2f9, 'Вход');
  margin-left: 2px;
  padding: 2px 5px;
  border: 1px solid rgba(125, 211, 252, .25);
  border-radius: 999px;
  color: #bae6fd;
  font-size: 8px;
  font-weight: 850;
  line-height: 1.2;
}
.viewer-toolbar-menu__item.premium-action.is-locked::after {
  content: var(--abgul-label-63f5c2c2f9, 'Вход');
  position: absolute;
  top: 8px;
  right: 8px;
  margin: 0;
  padding: 2px 5px;
  border: 1px solid rgba(125, 211, 252, .22);
  border-radius: 999px;
  color: #bae6fd;
  font-size: 8px;
  font-weight: 850;
  line-height: 1.2;
}
body[data-theme="light"] .viewer-toolbar__btn--menu {
  border-color: rgba(2, 132, 199, .23) !important;
  background: rgba(14, 165, 233, .08) !important;
  color: #075985 !important;
}
body[data-theme="light"] .viewer-toolbar-menu__section {
  border-color: rgba(15, 23, 42, .1);
  background: rgba(241, 245, 249, .72);
}
body[data-theme="light"] .viewer-toolbar-menu__section-title { color: #0369a1; }
body[data-theme="light"] .viewer-toolbar__btn--menu.premium-action.is-locked::after,
body[data-theme="light"] .viewer-toolbar-menu__item.premium-action.is-locked::after {
  border-color: rgba(2, 132, 199, .22);
  color: #0369a1;
}
@media (max-width: 920px) {
  .viewer-toolbar-menu__popover--grouped.is-portaled,
  .viewer-toolbar-menu__popover--mega.is-portaled {
    grid-template-columns: 1fr !important;
    width: min(340px, calc(100vw - 16px)) !important;
  }
  .viewer-toolbar-menu__popover--mega.is-portaled {
    max-height: calc(100dvh - 16px) !important;
  }
}
