.form-field textarea{width:100%;resize:vertical;border:1px solid #e1dcd3;border-radius:12px;background:#fffaf6;padding:13px 14px;color:var(--ink);line-height:1.55;min-height:70px}
.kontorka-openings,.kontorka-scene{background:#fff;border:1px solid #e6e1d8;border-radius:15px;padding:17px;margin:16px 0}
.kontorka-openings p{font-size:13px;line-height:1.5;margin:10px 0 0}
.kontorka-scene b{display:block;font-size:13px;line-height:1.5;margin-bottom:9px}
.kontorka-scene .form-field{margin:10px 0}
.kontorka-scene img{display:block;width:min(260px,100%);aspect-ratio:9/16;object-fit:cover;border-radius:10px;background:#e5e1dd;margin-top:10px}
.kontorka-pair{display:flex;gap:10px;margin:15px 0}
.kontorka-pair>div{flex:1;min-width:0}
.kontorka-pair img{width:min(180px,100%);aspect-ratio:9/16;object-fit:cover;border-radius:10px}
.image-revisions{margin:12px 0 18px;padding:13px;border:1px solid #e6e1d8;border-radius:12px;background:#fff}
.image-revision-result{margin:12px 0;border-top:1px solid #eeeae5;padding-top:12px}
.image-revision-result span{display:block;font-size:12px;line-height:1.45;margin-bottom:8px}
.image-revision-result img{display:block;width:min(180px,100%);height:auto;max-height:280px;object-fit:contain;border-radius:9px}
.image-revisions.kontorka .image-revision-result img{aspect-ratio:9/16}
.image-revision-form{margin-top:12px}
.image-revision-form .form-field{margin-bottom:8px}
.image-revision-form .order-link{white-space:normal;text-align:left}
.modal-panel video{width:100%;max-height:70vh;background:#181818;border-radius:12px}
.generation-progress,.generation-wait{margin:14px 0 18px;padding:15px 17px;border:1px solid #dfd7ea;border-radius:14px;background:#f3eef9;color:#604d82}
.generation-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px}
.generation-progress-heading strong,.generation-wait strong{font-weight:800}
.generation-progress-heading span{white-space:nowrap;font-variant-numeric:tabular-nums}
.generation-progress-track,.generation-wait-track{height:9px;border-radius:999px;background:#dfd5ed;overflow:hidden;position:relative}
.generation-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9270c3,#b594e6);transition:width .45s ease}
.generation-progress-track::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.48) 50%,transparent 65%);transform:translateX(-100%);animation:generation-shine 2.4s ease-in-out infinite;pointer-events:none}
.generation-wait{display:flex;align-items:center;gap:12px}
.generation-wait-body{flex:1;min-width:0;font-size:12px}
.generation-wait-track{height:7px;margin-top:9px}
.generation-wait-track>span{display:block;width:35%;height:100%;border-radius:inherit;background:#9f7ccf;animation:generation-sweep 1.55s ease-in-out infinite}
.generation-wait-icon{display:inline-block;flex:none;width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:generation-spin .8s linear infinite}
.kontorka-frame-placeholder{width:min(260px,100%);aspect-ratio:9/16;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed #cbb9df;border-radius:10px;background:#f5f1fa;color:#8068a0;font-size:12px;font-weight:750;text-align:center}
.kontorka-pair .kontorka-frame-placeholder{width:min(180px,100%)}
.revision-pending .generation-wait{margin:8px 0 12px;padding:10px 12px}
.order-item>.generation-wait{margin:10px 0 0}
.submit-button.is-busy>span:last-child{display:none}
.submit-button.is-busy::after{content:"";width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:generation-spin .8s linear infinite}
.order-link.is-busy{display:inline-flex;align-items:center;gap:8px}
.order-link.is-busy::after{content:"";display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:generation-spin .8s linear infinite}
@keyframes generation-spin{to{transform:rotate(360deg)}}
@keyframes generation-sweep{from{transform:translateX(-110%)}to{transform:translateX(300%)}}
@keyframes generation-shine{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.generation-wait-icon,.submit-button.is-busy::after,.order-link.is-busy::after,.generation-wait-track>span,.generation-progress-track::after{animation:none}.generation-wait-icon,.submit-button.is-busy::after,.order-link.is-busy::after{border-top-color:currentColor}.generation-wait-track>span{width:100%;opacity:.65}.generation-progress-track::after{display:none}}
