/* ============================================================
   Paperflip — fields.css

   One field as the person filling it in sees it. Loaded by BOTH the
   kiosk and the dashboard, because the form-builder canvas renders
   the very same markup from renderField() in paperflip-core.js.

   Everything is scoped under .formview so it can live inside the
   dashboard without colliding with the builder's own .field styles.
   ============================================================ */

.formview{display:flex;flex-direction:column;gap:var(--gap,18px)}
.formview .field label{display:block;font-size:15px;color:var(--ink-soft);margin-bottom:7px;font-weight:500}
.formview .field .tag{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-left:8px}
.formview .in{width:100%;font:inherit;font-size:18px;padding:var(--pad,14px 15px);border:1px solid var(--rule);border-radius:var(--radius,10px);background:var(--sheet);color:var(--ink)}
.formview .in:focus{outline:none;border-color:var(--ink);background:var(--slot-soft)}
.formview textarea.in{min-height:110px;resize:vertical;line-height:1.5}
.formview textarea.in.grow{min-height:0;resize:none;overflow:hidden;line-height:1.4}
.formview .bool{display:flex;gap:10px}
.formview .bool button{flex:1;font:inherit;font-size:17px;padding:14px;border:1px solid var(--rule);border-radius:var(--radius,10px);background:var(--sheet);color:var(--ink);cursor:pointer}
.formview .bool button[aria-pressed="true"]{background:var(--ink);color:var(--sheet);border-color:var(--ink)}
.formview .checks{display:flex;flex-direction:column;gap:10px}
.formview .chk{display:flex;align-items:center;gap:12px;font-size:17px;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius,10px);background:var(--sheet);cursor:pointer;user-select:none}
.formview .chk input{width:22px;height:22px;margin:0;cursor:pointer;flex:none}
.formview .chk input:checked+span{font-weight:600}
.formview .readout{padding:var(--pad,14px 15px);border:1px solid var(--calc);border-radius:var(--radius,10px);background:var(--calc-soft);font-size:18px;min-height:52px}
.formview .readout.void{color:var(--ink-soft);font-style:italic}
.formview .readout.err{background:#FCF2F4;border-color:#E8B9C2;color:var(--stamp);font-size:15px}

/* ---- page furniture inside a form ---- */
.formview .fld-head h3{font-family:var(--sans);font-weight:600;font-size:21px;line-height:1.25}
.formview .fld-head p{color:var(--ink-soft);font-size:15px;margin-top:4px}
.formview .fld-para{font-size:16px;line-height:1.55;white-space:pre-wrap}
.formview .fld-img{max-width:100%;height:auto;display:block;border-radius:var(--radius,10px)}
.formview .fld-hr{border:0;border-top:1px solid var(--rule)}
.formview .fld-help{font-size:13.5px;color:var(--ink-soft);margin:-3px 0 7px}

/* ---- composite fields ---- */
.formview .parts{display:flex;flex-wrap:wrap;gap:10px}
.formview .part{flex:1 1 190px;min-width:0}
.formview .part>span{display:block;font-size:12.5px;color:var(--ink-soft);margin-bottom:4px}

/* ---- ratings ---- */
.formview .rate{display:flex;gap:4px}
.formview .rate button{font:inherit;font-size:30px;line-height:1;padding:2px 4px;border:0;background:none;cursor:pointer;color:var(--rule);transition:color .1s}
.formview .rate button[aria-pressed="true"]{color:var(--slot)}
.formview .rate:hover button{color:var(--rule)}
.formview .scale{display:flex;flex-wrap:wrap;gap:8px}
.formview .scale button{font:inherit;font-size:17px;min-width:50px;padding:12px 10px;border:1px solid var(--rule);border-radius:var(--radius,10px);background:var(--sheet);color:var(--ink);cursor:pointer}
.formview .scale button[aria-pressed="true"]{background:var(--ink);color:var(--sheet);border-color:var(--ink)}
.formview .scale-ends{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);margin-top:5px}

/* A Submit button placed in the form. Styled here rather than in kiosk.css so
   the builder canvas shows exactly what the tablet shows. */
.formview .fld-submit{display:block;width:100%;font:inherit;font-size:17px;font-weight:600;
  padding:15px 20px;border:1px solid transparent;border-radius:var(--radius,12px);
  background:var(--go);color:var(--paper);cursor:pointer}
.formview .fld-submit:hover{filter:brightness(1.06)}
.formview .fld-submit:active{transform:scale(.995)}
.formview .fld-submit:disabled{opacity:.6;cursor:default}
