.form-admin { background:var(--bg, #0a0a0d); color:#fff; }
.form-admin__main { width: min(1120px, calc(100% - 32px)); margin: 48px auto 60px; }
.form-admin__intro { margin-bottom:28px; }
.form-admin__intro h1 { margin:3px 0 6px; font-size:32px; }
.form-admin__intro p { color:rgba(255,255,255,.68); }
.form-admin__eyebrow { margin:0; color:var(--red, #ef5278)!important; font-size:11px; font-weight:800; letter-spacing:.14em; }
.form-admin__layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:24px; align-items:start; min-width:0; }
.form-list,.form-builder { border:1px solid rgba(255,255,255,.12); border-radius:20px; background:#17141b; color:#fff; box-shadow:0 18px 45px rgba(0,0,0,.28); }
.form-list { min-width:0; padding:10px; }
.form-list__item { width:100%; margin:0 0 6px; padding:14px; border:0; border-radius:13px; background:transparent; text-align:left; cursor:pointer; }
.form-list__item { color:#fff; }
.form-list__item:hover,.form-list__item.is-active { background:rgba(255,45,120,.12); }
.form-list__item strong,.form-list__item span { display:block; overflow-wrap:anywhere; }
.form-list__item span { margin-top:4px; color:rgba(255,255,255,.55); font-size:11px; }
.form-list__item small { display:inline-block; margin-top:8px; padding:3px 7px; border-radius:20px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.72); font-size:10px; }
.form-list__item small.is-public { background:#e4f8ec; color:#187442; }
.form-list__item small.is-archived { background:rgba(255,255,255,.08); color:rgba(255,255,255,.58); }
.form-empty { padding:24px 12px; color:rgba(255,255,255,.58); text-align:center; font-size:13px; }
.form-builder { min-width:0; padding:26px; }
.form-builder .field { margin-bottom:18px; }
.form-builder .field__label { color:rgba(255,255,255,.72); }
.form-builder .field__help { color:rgba(255,255,255,.48); }
.form-builder .field__input { min-height:48px; border:1px solid rgba(255,255,255,.22); background:#0f0d12; color:#fff; }
.form-builder .field__input::placeholder { color:rgba(255,255,255,.36); }
.form-builder .field__input:focus { border-color:#ff2d78; background:#141116; box-shadow:0 0 0 3px rgba(255,45,120,.15); }
.form-builder select.field__input { color-scheme:dark; }
.form-builder__head,.form-questions__head,.form-builder__actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.form-builder__head { margin-bottom:22px; }
.form-builder__head h2 { margin:4px 0 0; }
.form-publish { display:flex; gap:8px; align-items:center; color:rgba(255,255,255,.82); font-weight:700; font-size:13px; }
.form-publish input,.form-question__meta input { width:17px; height:17px; accent-color:#ff2d78; }
.form-slug { display:flex; align-items:center; gap:8px; }
.form-slug span { color:rgba(255,255,255,.55); font-size:13px; }
.form-textarea { min-height:96px!important; height:96px; resize:vertical; }
.form-questions__head { margin:30px 0 12px; }
.form-questions__head h3 { margin:0; }
.form-question { position:relative; margin-bottom:12px; padding:18px; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:#1d1922; }
.form-question__grid { display:grid; grid-template-columns:minmax(0,1fr) 170px; gap:12px; }
.form-question__meta { display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.form-question__meta label { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.72); font-size:13px; }
.form-question__options { margin-top:12px; }
.form-question__remove { color:#c83355; font-size:12px; text-decoration:underline; }
.form-builder__actions { justify-content:flex-start; margin-top:28px; }
.form-response-panel__meta { margin-top:5px; color:rgba(255,255,255,.55); font-size:12px; }
.form-response-panel__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.form-response-panel__actions .btn:disabled { height:auto; background-image:none; }
.form-response-panel__permanent { width:100%; padding:2px 0 0; color:#df6f86; font-size:10px; text-align:right; text-decoration:underline; }
.form-responses { margin-top:36px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); }
.form-response { margin:10px 0; padding:14px; border-radius:12px; background:#1d1922; }
.form-response time { display:block; margin-bottom:8px; color:rgba(255,255,255,.5); font-size:11px; }
.form-response dl { margin:0; }
.form-response dl div { margin-top:8px; }
.form-response dt { font-size:11px; font-weight:700; }
.form-response dd { margin:2px 0 0; white-space:pre-wrap; font-size:13px; }
.form-response__images { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,220px)); gap:8px; margin-top:7px; }
.form-response__image { display:block; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:#0f0d12; }
.form-response__image img { display:block; width:100%; max-height:220px; object-fit:contain; }
.form-response__image span { display:block; padding:7px 9px; color:rgba(255,255,255,.72); font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.public-form-page .page { min-height:100vh; }
.public-form { margin:16px; padding:18px; border:1px solid rgba(37,31,35,.14); border-radius:18px; background:#fff; color:#251f23; text-align:left; box-shadow:0 12px 36px rgba(37,31,35,.1); }
.form-preview-banner { display:flex; align-items:center; gap:8px; margin:-4px -4px 16px; padding:10px 12px; border-radius:11px; background:#fff1f5; color:#6f263d; font-size:11px; line-height:1.45; }
.form-preview-banner strong { flex:0 0 auto; padding:2px 7px; border-radius:999px; background:#ed3d70; color:#fff; }
.public-form__back { display:inline-block; margin-bottom:18px; color:#665760; font-size:12px; font-weight:700; }
.public-form__heading { margin-bottom:24px; }
.public-form__heading h2 { margin:0 0 8px; font-size:20px; }
.public-form__heading p { margin:0; color:#685d62; white-space:pre-wrap; font-size:13px; line-height:1.7; }
.public-question { margin:0 0 18px; padding:0; border:0; }
.public-question legend { width:100%; margin-bottom:8px; font-size:13px; font-weight:800; line-height:1.5; }
.public-question legend em { margin-left:8px; padding:2px 6px; border-radius:5px; background:#d92f62; color:#fff; font-size:9px; font-style:normal; }
.public-input { width:100%; padding:12px; border:1px solid #bdb4b8; border-radius:10px; background:#fff; color:#251f23; font:inherit; font-size:16px; }
.public-input--compact { max-width:240px; }
.public-textarea { min-height:120px; resize:vertical; }
.public-input:focus { outline:3px solid rgba(237,61,112,.2); border-color:#ed3d70; }
.public-image-upload { display:grid; gap:8px; }
.public-image-upload__picker { display:grid; min-height:84px; place-items:center; padding:14px; border:1px dashed #bdb4b8; border-radius:12px; background:#faf8f9; color:#b42358; font-size:13px; font-weight:800; cursor:pointer; }
.public-image-upload__picker:focus-within { outline:3px solid rgba(237,61,112,.2); border-color:#ed3d70; }
.public-image-upload__picker input { position:absolute; width:1px; height:1px; opacity:0; }
.public-image-upload__help { margin:0; color:#7c7075; font-size:10px; }
.public-image-upload__status { margin:0; color:#277148; font-size:11px; font-weight:700; }
.public-image-upload__status.is-error { color:#b42342; }
.public-image-upload__preview { display:grid; gap:9px; padding:9px; border:1px solid #d4cccf; border-radius:12px; background:#faf8f9; }
.public-image-upload__preview[hidden] { display:none; }
.public-image-upload__items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.public-image-upload__item { min-width:0; }
.public-image-upload__item img { display:block; width:100%; aspect-ratio:1; border-radius:8px; object-fit:cover; background:#eee9eb; }
.public-image-upload__item strong { display:block; margin-top:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
.public-image-upload__item button,.public-image-upload__clear { padding:2px 0; color:#b42358; font-size:10px; text-decoration:underline; }
.public-image-upload__clear { justify-self:end; }
.public-options { display:grid; gap:8px; }
.public-options label { display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid #d4cccf; border-radius:10px; background:#faf8f9; color:#251f23; font-size:13px; cursor:pointer; }
.public-options input { accent-color:#ed3d70; }
.public-options__required-note { margin:0 2px; color:#b42342; font-size:10px; font-weight:700; }
.public-scale { display:flex; align-items:flex-end; gap:7px; overflow-x:auto; padding:6px 0; color:#685d62; font-size:10px; text-align:center; }
.public-scale > span { flex:1 0 54px; }
.public-scale label { display:grid; justify-items:center; gap:6px; min-width:28px; color:#251f23; }
.public-scale label b { font-size:11px; }
.public-scale input,.public-rating input { accent-color:#ed3d70; }
.public-rating { display:flex; flex-wrap:wrap; gap:5px; }
.public-rating label { position:relative; display:grid; min-width:42px; padding:8px 6px; justify-items:center; gap:2px; border:1px solid #d4cccf; border-radius:10px; background:#faf8f9; color:#a79da1; cursor:pointer; }
.public-rating label:has(input:checked) { border-color:#ed3d70; background:#fff1f5; color:#d92f62; }
.public-rating input { position:absolute; opacity:0; }
.public-rating span { font-size:20px; line-height:1; }
.public-rating b { color:#685d62; font-size:9px; }
.public-form .btn--primary { border-color:#ed3d70; background:#ed3d70; color:#fff; }
.public-form .btn--primary:disabled { border-color:#d8cdd1; background:#e9e3e5; color:#766b70; opacity:1; cursor:not-allowed; }
.public-form__error { margin:0 0 12px; color:#b42342; font-size:12px; }
.public-form__complete { padding:34px 8px; text-align:center; }
.public-form__complete > span { display:grid; width:54px; height:54px; margin:0 auto 14px; place-items:center; border-radius:50%; background:var(--p-acc); color:#fff; font-size:24px; }
.public-form__complete h2 { margin:0 0 8px; }
.public-form__complete p { margin:0 0 22px; white-space:pre-wrap; font-size:13px; line-height:1.7; }

@media (max-width:760px) {
  .form-admin .appbar__inner { min-width:0; }
  .form-admin .appbar__right { min-width:0; margin-left:auto; }
  .form-admin .appbar__right .btn { max-width:100%; padding:9px 11px; font-size:12px; }
  .form-admin__main { width:calc(100% - 24px); max-width:620px; margin:24px auto 40px; }
  .form-admin__intro { margin-bottom:18px; }
  .form-admin__intro h1 { font-size:28px; line-height:1.3; }
  .form-admin__intro p:not(.form-admin__eyebrow) { margin:10px 0 0; font-size:13px; line-height:1.75; }
  .form-admin__layout { grid-template-columns:1fr; }
  .form-list { padding:8px; border-radius:16px; }
  .form-list__item { padding:13px 12px; }
  .form-list__item strong { font-size:14px; line-height:1.55; }
  .form-builder { padding:18px 16px; border-radius:16px; }
  .form-response-panel .form-builder__head { display:block; margin-bottom:0; }
  .form-response-panel .form-builder__head > div:first-child { min-width:0; }
  .form-response-panel .form-builder__head h2 { overflow-wrap:anywhere; font-size:24px; line-height:1.45; }
  .form-response-panel__actions { display:grid; grid-template-columns:1fr; justify-content:stretch; margin-top:20px; }
  .form-response-panel__actions .btn { width:100%; min-width:0; min-height:44px; white-space:normal; line-height:1.35; }
  .form-response-panel__permanent { min-height:36px; padding:7px 0 0; text-align:center; }
  .form-responses { margin-top:26px; padding-top:20px; }
  .form-responses h3 { margin-top:0; font-size:18px; }
  .form-response { padding:12px; }
  .form-response dd { overflow-wrap:anywhere; }
  .form-response__images { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .form-question__grid { grid-template-columns:1fr; }
}

@media (max-width:380px) {
  .form-admin__main { width:calc(100% - 16px); }
  .form-admin__intro h1 { font-size:25px; }
  .form-builder { padding:16px 13px; }
  .form-response-panel .form-builder__head h2 { font-size:21px; }
}
