@import url("./entry-status.css");
/* Form controls only. The app's existing portal-entry.css supplies the page
   background, portal-shell, portal-main, hero-copy and responsive portal-footer. */
:root{--form-ink:var(--ink);--form-muted:var(--muted);--form-line:var(--line);--form-blue:#3971d3;--form-blue-strong:#2e5ebc;--form-blue-soft:#eef4fc;--form-blue-border:#c2d3f5}
.form-document{width:min(760px,100%);color:var(--form-ink);font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.form-document *{box-sizing:border-box}.form-document [hidden]{display:none!important}
.form-document h1{font-size:34px;line-height:1.3;letter-spacing:-.7px;margin:0;font-weight:680}
.form-heading{animation:none}.form-description{white-space:pre-wrap;margin:0;color:var(--form-muted)}
.form-icon{font-size:48px;line-height:1.2}.form-icon-image{display:block;width:64px;height:64px;object-fit:contain;border-radius:10px;margin:0 auto}
.form-lucide-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;flex:none;background:transparent;color:#000}
.form-lucide-icon.is-soft{border-radius:16px}
.form-lucide-icon .form-ui-icon{width:34px;height:34px;flex:0 0 34px;stroke-width:1.8}
.form-caption{font-size:13px;color:var(--form-muted);margin:8px 0}.form-question{border:0;padding:0;margin:0 0 30px;min-width:0}
.form-heading .form-caption{margin:0}.form-fields{border:0;padding:0;margin:0;min-width:0}
.form-question-title{display:block;font-size:16px;font-weight:600;margin-bottom:5px;padding:0}
.form-required{display:inline-block;vertical-align:middle;margin-left:8px;padding:1px 6px;border:1px solid var(--form-blue-border);border-radius:4px;background:#fff;color:var(--form-blue-strong);font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap}
.form-field-help{font-size:14px;color:var(--form-muted);white-space:pre-wrap;margin:0 0 10px}.form-field-help:empty{display:none}
.form-question input:not([type=radio]):not([type=checkbox]),.form-question textarea,.form-question select{font:inherit;font-size:var(--form-control-font-size,16px);line-height:1.5;display:block;width:100%;max-width:100%;color:var(--form-control-ink,var(--form-ink));padding:var(--form-control-padding,13px 15px);background:var(--form-control-bg,#fff);border:1px solid var(--form-line);border-radius:8px;min-height:var(--form-control-height,52px)}
.form-question input.form-profile-locked,.form-question textarea.form-profile-locked{--form-control-bg:#f2f4f7;--form-control-ink:#77808e;-webkit-text-fill-color:#77808e;opacity:1;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.form-question textarea{resize:vertical;min-height:142px}
.form-document input[type=file]{font-size:14px!important;padding:12px!important}
.form-document input[type=file]::file-selector-button{border:0;background:var(--form-blue-soft);border-radius:5px;padding:8px 10px;margin-right:10px;color:var(--form-blue-strong)}
.form-document input::placeholder,.form-document textarea::placeholder{color:#94a3b8}
.form-choices{display:grid;gap:7px}.form-choice{display:flex;align-items:center;gap:10px;min-height:42px;padding:6px 2px;cursor:pointer;font-weight:400}
.form-choice input{accent-color:var(--form-blue);width:18px;height:18px;flex:none;margin:0}
.form-rating{display:flex;flex-wrap:wrap;gap:7px}.form-rating .form-choice{padding:9px 11px;border:1px solid var(--form-line);border-radius:8px;min-width:48px;justify-content:center;background:#fff}
.form-rating .form-choice:has(input:checked){background:var(--form-blue-soft);color:var(--form-blue-strong)}.form-rating input{width:14px;height:14px}
.form-primary,.form-secondary{font:inherit;font-size:15px;font-weight:600;line-height:1.4;border:1px solid transparent;border-radius:8px;padding:12px 22px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;text-decoration:none}
.form-primary{background:var(--form-blue);color:#fff}.form-primary:hover{background:var(--form-blue-strong)}.form-secondary{background:#fff;color:var(--form-ink);border-color:var(--form-line)}
.form-document form>.form-primary{display:flex;width:min(260px,100%);margin:38px auto 0}
.form-deadline,.form-footer-note{text-align:center;white-space:pre-wrap;margin:10px auto 0;max-width:660px}.form-footer-note{margin-top:12px}
.form-primary:disabled,.form-secondary:disabled{opacity:.55;cursor:wait}
.form-text-button{border:0;background:transparent;color:var(--form-blue-strong);font:inherit;font-size:13px;text-decoration:underline;padding:5px;cursor:pointer}
.form-field-error,.form-error{font-size:14px;color:#ad382c;margin:7px 0;white-space:pre-wrap}.form-field-error:empty,.form-error:empty{display:none}
.form-files{display:grid;gap:6px;margin-bottom:8px}.form-file-row{display:flex;justify-content:space-between;gap:16px;font-size:14px}
.form-state{padding:36px 0;text-align:center}.form-state h2{font-size:24px;font-weight:600;line-height:1.5;margin:0 0 12px}.form-state p{white-space:pre-wrap;color:var(--form-muted);margin:0 0 24px}
.form-document.is-success{align-content:center;padding-top:0;padding-bottom:0}
.form-notice{background:var(--form-blue-soft);border-left:3px solid var(--form-blue-border);font-size:14px;padding:10px 14px;margin:20px 0;white-space:pre-wrap;color:#2a518d}
.form-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.form-state .form-actions{width:min(340px,100%);margin:0 auto;flex-wrap:nowrap;justify-content:center}
.form-state .form-actions>*{flex:1;min-width:0;padding:12px 10px}
.form-expired-document{align-content:center;justify-items:center;text-align:center}
.form-expired-symbol{width:96px;height:96px;color:var(--form-blue)}
.form-expired-symbol svg{display:block;width:100%;height:100%}
.form-expired-document>.form-primary{min-width:160px}
@media(max-width:600px){.form-document h1{font-size:28px}.form-icon{font-size:46px}.form-question{margin-bottom:34px}.form-document>.form-actions .form-primary{width:100%}.form-document form>.form-primary{width:min(260px,100%)}.form-rating{gap:5px}.form-rating .form-choice{padding:9px 8px}}
@media(max-width:600px){.form-page .portal-shell{width:min(calc(100% - 32px),440px);padding-top:34px}.form-document .form-heading{margin-bottom:4px}.form-document.is-state{align-content:center;padding:0}}
@media(prefers-reduced-motion:reduce){.form-document *{scroll-behavior:auto!important}}

/* Shared portal structure, with the personal product's blue/white palette. */
body.form-page{--ink:#172033;--muted:#66758f;--line:#d7e4f7;--blue:#3971d3;--blue-dark:#2e5ebc;background:linear-gradient(180deg,#f1f7fe 0%,#f7f9fd 48%,#fff 100%)}
.form-ui-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;stroke-width:2;vertical-align:middle;pointer-events:none}
.form-question{width:100%}.form-question-title{font-size:16px;line-height:1.6}.form-choices{width:100%;gap:4px}
.form-choice{width:100%;padding:9px 12px;border:1px solid transparent;border-radius:7px;min-height:44px;transition:background .12s,border-color .12s}
.form-choice:hover{background:#f5f8fd}.form-choice:has(input:checked){background:#eef4fc;color:#2a518d}
.form-choice>span{min-width:0;overflow-wrap:anywhere}.form-choice input{flex:0 0 18px}
.form-rating{width:100%;display:grid;grid-template-columns:repeat(var(--rating-count,5),minmax(0,1fr));gap:8px}
.form-rating .form-choice{min-width:0;padding:10px 4px;gap:6px}.form-rating .form-choice input{width:14px;height:14px;flex-basis:14px}
.form-choice-dropdown,.form-upload{position:relative;width:100%;margin:0}
.form-choice-dropdown>summary,.form-upload>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;width:100%;min-height:52px;padding:12px 15px;border:1px solid var(--form-line);border-radius:8px;background:#fff;font:inherit;color:var(--form-ink)}
.form-choice-dropdown>summary::-webkit-details-marker,.form-upload>summary::-webkit-details-marker{display:none}
.form-select-value{min-width:0;white-space:normal;overflow-wrap:anywhere}.form-select-value.is-empty{color:#94a3b8}
.form-select-panel{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:20;max-height:min(320px,50dvh);overflow:auto;padding:6px;border:1px solid #d7e4f7;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(29,56,99,.12)}
.form-select-panel .form-choice{color:var(--form-ink)}
.form-upload-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:152px;margin-top:8px;padding:22px 16px;border:1px dashed #c2d3f5;border-radius:8px;background:#fff;text-align:center;color:var(--form-muted)}
.form-upload-drop>.form-ui-icon{width:28px;height:28px;flex-basis:28px;color:#82a2df}.form-upload-drop .form-caption{margin:0;max-width:100%;font-size:12px}
.form-upload-drop.is-drag-over{border-color:#3971d3;background:#eef4fc}.form-upload .form-text-button{font-size:15px;text-decoration:none;font-weight:600}
.form-document input.form-file-input{position:absolute;width:1px;height:1px;min-height:0;max-width:1px;padding:0;border:0;opacity:0;overflow:hidden;pointer-events:none}
.form-files:empty{display:none}.form-files{margin:10px 0 0}.form-file-row{align-items:center;gap:10px;min-height:46px;padding:8px 12px;border:1px solid var(--form-line);border-radius:8px;background:#fff}
.form-file-name{flex:1;min-width:0;overflow-wrap:anywhere}.form-file-state{color:#66758f;font-size:12px;white-space:nowrap}.form-file-row .form-text-button{flex:none}.form-file-row .form-field-error{font-size:12px;margin:0}
@media(max-width:600px){.form-upload-desktop-hint{display:none}.form-file-row{flex-wrap:wrap}.form-file-name{flex-basis:calc(100% - 30px)}.form-rating{gap:4px}.form-rating .form-choice{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.form-choice{transition:none}}
