/* Form documents keep their own palette, independently of the task board. */
.form-table-scroll tbody tr:hover,.form-list-table tbody tr:hover{background:transparent!important}
/* Keep document actions inside the window, including its rounded bottom edge. */
.form-document-dialog>.form-document-actions{box-sizing:border-box;position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;min-width:0;width:100%;max-width:100%;margin:18px 0 8px;padding:12px;border:1px solid var(--form-line);border-radius:10px;background:var(--form-input);box-shadow:0 3px 14px #0000000a;z-index:5}
.form-document-dialog>.form-document-actions>button{box-sizing:border-box;flex:0 1 auto;min-width:0;max-width:100%;min-height:40px;padding:9px 12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
@container form-window (max-width:560px){.form-document-dialog>.form-document-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}.form-document-dialog>.form-document-actions>button{width:100%;margin:0}}
.form-dialog .form-create-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:22px;min-width:0;align-items:start}
.form-dialog .form-create-layout>*{min-width:0;max-width:100%;box-sizing:border-box}
.form-new-page>header{flex-wrap:wrap;gap:10px;background:var(--form-bg);padding:12px;border-radius:8px}
.form-new-page>header h2{margin-right:auto}
.form-new-page>header [data-create-controls-toggle]{font-size:13px;min-height:36px;padding:8px 12px;border:1px solid var(--form-line);background:var(--form-input);border-radius:7px}
.form-new-page>header [data-create-controls-toggle][aria-expanded=true]{background:var(--form-input);box-shadow:inset 0 -2px var(--form-muted)}
.form-new-page .form-new{padding:16px;gap:16px}
.form-new-page .form-new[hidden]{display:none!important}
.form-new-page[data-controls-collapsed=true]>.form-create-layout{grid-template-columns:minmax(0,1fr)}
.form-new-page .form-create-preview{padding:20px;overflow:visible;background:var(--form-bg)}
.form-new-page .form-create-preview>h3{font-size:16px;color:var(--form-ink);margin:0 0 6px}
.form-new-page .form-create-preview>.form-note{margin:0 0 20px}
.form-new-page .form-create-actions{position:static;gap:12px;background:var(--form-bg);padding:14px;border-radius:8px;box-sizing:border-box}
.form-new-page .form-create-actions>span{flex:1;min-width:180px}
.form-new-page .form-create-actions>button{min-width:170px;flex:none}
.form-dialog .form-create-template>button{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.form-new-page [data-create-publish]{width:100%;min-height:44px;margin-top:4px;font-weight:600}
.form-validation-target{outline:2px solid #c34d44!important;outline-offset:3px;scroll-margin:90px 20px}
.form-new-page .form-error:not(:empty){padding:10px 12px;border:1px solid #c34d4466;border-radius:7px;background:var(--form-input);color:#a52e28}
.form-dialog .form-select-trigger{min-width:0}
.form-dialog .form-select-label{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;line-height:1.4}
.form-background-picker{grid-template-columns:repeat(auto-fit,minmax(min(90px,100%),1fr));max-height:min(320px,45dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.form-template-settings-body{max-height:min(600px,70dvh);overflow:auto;overscroll-behavior:contain}
.form-background-picker .form-background-option{min-width:0;max-width:100%}
.form-background-option>small{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.form-background-option>span{height:52px}
[data-form-background=coast]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/coast-low.webp')}
[data-form-background=city]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/city-low.webp')}
[data-form-background=lake]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/lake-low.webp')}
[data-form-background=dunes]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/dunes-low.webp')}
[data-form-background=meadow]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/field-alpine-low.webp')}
[data-form-background=waterfall]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/waterfall-low.webp')}
[data-form-background=winter]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/winter-thumb.webp')}
[data-form-background=autumn]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/autumn-thumb.webp')}
[data-form-background=road]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/alpine-road-thumb.webp')}
[data-form-background=truck]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-alpine-valley-thumb.webp')}
[data-form-background=airport]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-airport-thumb.webp')}
[data-form-background=library]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-library-thumb.webp')}
[data-form-background=cafe]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-cafe-thumb.webp')}
[data-form-background=stars]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-stars-thumb.webp')}
:is(.form-dialog,.form-builder-preview,body.public-form-page)[data-form-background=truck]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-alpine-valley.webp')}
:is(.form-dialog,.form-builder-preview,body.public-form-page)[data-form-background=airport]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-airport.webp')}
:is(.form-dialog,.form-builder-preview,body.public-form-page)[data-form-background=library]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-library.webp')}
:is(.form-dialog,.form-builder-preview,body.public-form-page)[data-form-background=cafe]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-cafe.webp')}
:is(.form-dialog,.form-builder-preview,body.public-form-page)[data-form-background=stars]{background-image:linear-gradient(#ffffff38,#ffffff38),url('backgrounds/form-stars.webp')}
.form-dialog[data-form-background]{background-size:var(--form-background-size,cover);background-position:center;background-repeat:no-repeat}
/* The palette and property pane can be closed while continuing to edit the form. */
.builder-view-controls{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.form-builder-dialog .builder-view-controls>button{font:500 12px/1.4 system-ui;min-height:34px;padding:7px 9px;border:1px solid var(--form-line);border-radius:6px;background:var(--form-input);color:var(--form-muted);white-space:nowrap}
.form-builder-dialog .builder-view-controls>button[aria-expanded=true]{color:var(--form-ink);background:var(--form-hover)}
.form-builder-dialog[data-palette-collapsed=true] .form-builder-library{display:none!important}
.form-builder-dialog[data-inspector-collapsed=true] .form-builder-inspector,.form-builder-dialog[data-inspector-collapsed=true] .form-panel-splitter{display:none!important}
.form-builder-dialog:not(.is-testing)[data-inspector-collapsed=true]>.form-builder-main{grid-template-columns:minmax(0,1fr)!important}
.form-builder-dialog:not(.is-testing)[data-inspector-collapsed=true] .form-builder-stage{grid-column:1!important}
.form-builder-dialog:not(.is-testing)[data-palette-collapsed=true]:has(.form-builder-main[data-split-enabled=true])>.form-builder-main{grid-template-rows:minmax(0,1fr);row-gap:0}
.form-builder-dialog:not(.is-testing)[data-palette-collapsed=true]>.form-builder-main[data-split-enabled=true]>:is(.form-builder-stage,.form-builder-inspector,.form-panel-splitter){grid-row:1!important}
.form-builder-dialog.is-testing .builder-view-controls{display:none}
.form-builder-dialog .builder-property-tabs{position:static}
.form-builder-dialog .form-canvas-header{flex-wrap:wrap}
.form-builder-dialog .form-canvas-header>div:first-of-type{flex:1 1 160px}
.form-builder-dialog .form-canvas-header .builder-view-controls{flex:0 1 auto}
@container form-window (max-width:920px){.form-dialog .form-create-layout{grid-template-columns:minmax(0,1fr)}.form-new-page .form-new{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.form-new-page .form-new>.form-create-template,.form-new-page .form-new>.form-background-settings{grid-column:1/-1}}
@media(max-width:760px){body[data-page=forms] .forms-section{padding:14px 10px}body[data-page=forms] #content{padding:10px}.form-dialog.form-page-editor{padding:14px}.form-dialog .form-create-layout{grid-template-columns:minmax(0,1fr)}.form-new-page .form-create-preview{padding:14px}.form-new-page .form-new{display:flex}.form-new-page .form-create-actions>button{flex:1}.form-builder-dialog .form-canvas-header .builder-view-controls{width:100%;justify-content:flex-end}.form-dialog .form-background-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* A photo follows the viewport, not the growing height of its document. */
:is(body.public-form-page,.form-document-dialog)[data-form-background]{background-attachment:fixed;background-size:var(--form-background-size,cover);background-repeat:no-repeat;background-position:center top}
@media(max-width:600px){:is(body.public-form-page,.form-document-dialog)[data-form-background]{background-attachment:scroll;background-size:var(--form-background-size,auto 100dvh)}}

/* Row actions keep forms removable without opening the document. */
.form-list-table .form-list-actions{width:1%;text-align:right;white-space:nowrap}
.form-list-table .form-list-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:38px;min-height:38px;padding:8px;border:1px solid var(--form-line);border-radius:8px;background:var(--form-input);color:var(--form-muted);box-shadow:none;transition:background .15s,color .15s,border-color .15s}
.form-list-table .form-list-action svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.form-list-table .form-list-action:hover{color:var(--form-ink);background:var(--form-hover)}
.form-list-table .form-list-action.is-trash:hover{color:#b94444;background:color-mix(in srgb,#bf5353 9%,var(--form-input));border-color:color-mix(in srgb,#bf5353 40%,var(--form-line))}
.form-list-table .form-list-action:focus-visible{outline:2px solid var(--form-muted);outline-offset:3px}
.form-list-table .form-list-action:disabled{opacity:.5;cursor:wait}
.forms-create-row{display:flex;justify-content:flex-start;gap:10px;margin:0 0 16px}.forms-create-row>button{min-height:40px;padding:9px 16px;border:1px solid var(--form-line);border-radius:8px;background:var(--form-input);color:var(--form-ink)}.forms-create-row>button:hover{background:var(--form-hover)}

/* Section navigation belongs to the top right of the forms header. */
.forms-page-heading{align-items:flex-start;flex-wrap:wrap}
.forms-page-heading>.forms-page-actions{margin-left:auto;min-width:0;max-width:100%}
.forms-page-heading>.forms-page-actions>.forms-tabs{flex:0 1 auto;min-width:0;max-width:100%;overflow:auto}

/* Copy one value without selecting or exporting the whole table. */
.form-dialog button.form-copy-text,.public-form-page button.form-copy-text{display:inline-grid;place-items:center}
.form-copy-text>span{grid-area:1 / 1;white-space:nowrap}
.form-copy-text>.form-copy-confirmation{visibility:hidden}
.form-copy-text[data-copied=true]>.form-copy-label{visibility:hidden}
.form-copy-text[data-copied=true]>.form-copy-confirmation{visibility:visible}
.form-table-cell{position:relative;min-width:0}.form-table-cell:has(>.form-copy-cell)>.form-value{padding-right:38px}
.structured-fields .form-copy-cell{position:absolute;top:50%;right:5px;transform:translateY(-50%);display:grid;place-items:center;width:30px;min-width:30px;height:30px;min-height:30px;padding:6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--form-muted);opacity:.5}
.form-copy-cell svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.form-table-cell:hover>.form-copy-cell,.form-copy-cell:focus-visible{opacity:1;background:var(--form-input);border-color:var(--form-line)}.form-copy-cell[data-copied=true]{opacity:1;color:#33805b}
.form-document-settings>.form-public-link{box-sizing:border-box;display:flex;align-items:flex-end;gap:10px;width:100%;max-width:680px;justify-self:start;min-width:0}.form-public-link>label{flex:1;min-width:0;gap:7px}.form-public-link>button{flex:none;min-width:120px;min-height:40px}
.form-validation-summary{box-sizing:border-box;width:100%;padding:14px 16px;margin:0 0 18px;border:1px solid #b94b485e;border-radius:8px;background:color-mix(in srgb,#b94b48 6%,var(--form-input));color:var(--form-ink)}.form-validation-summary>strong{display:block;font-size:15px}.form-validation-summary ul{padding:0 0 0 18px;margin:8px 0 0}.structured-fields .form-validation-summary button{padding:4px 0;min-height:0;border:0;border-radius:0;background:none;color:#a6403b;text-align:left;font-size:13px;font-weight:500;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.structured-fields [data-form-invalid]{outline:2px solid #c05950!important;outline-offset:1px;scroll-margin:100px 20px}
@media(max-width:480px){.form-document-settings>.form-public-link{flex-wrap:wrap}.form-public-link>label{flex-basis:100%}.form-public-link>button{min-width:120px}}

/* Hover tints the copy button's solid surface instead of replacing it with transparency. */
.form-dialog .form-public-link>button{background:var(--form-input);color:var(--form-ink)}
.form-dialog .form-public-link>button:is(:hover,:focus-visible){background:color-mix(in srgb,var(--form-ink) 8%,var(--form-input));border-color:var(--form-muted)}
.form-dialog .form-public-link>button:active{background:color-mix(in srgb,var(--form-ink) 12%,var(--form-input))}

/* Validation is shown directly above the table or field that needs attention. */
.structured-fields .form-inline-errors{display:flex;flex-direction:column;align-items:flex-start;gap:3px;box-sizing:border-box;max-width:100%;margin:2px 0 10px;padding:0;color:#b23e36;line-height:1.45;text-align:left}
.structured-fields .form-inline-errors>button{display:block;min-height:0;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:500 13px/1.45 system-ui;text-align:left;white-space:normal;overflow-wrap:anywhere}
.structured-fields .form-inline-errors>button:hover{background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px}
[data-form-background=graphite] .form-inline-errors{color:#ffb0a8}

/* Request-linked forms open large; a later manual resize remains a device preference. */
.form-dialog.form-document-dialog:not(.form-page-editor):not(.form-window-sized){width:90vw;height:90dvh;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
