:root { --ink:#1d2423; --muted:#69716d; --line:#dfe5df; --paper:#f1f4ef; --white:#fff; --accent:#e85d3f; --yellow:#f3df85; --green:#d8e7dc; }
* { box-sizing:border-box; }
body { min-width:0; margin:0; color:var(--ink); background:var(--paper); font-family:"Space Grotesk", sans-serif; }
.hidden { display:none !important; }
.public-shell { min-height:100vh; display:grid; grid-template-columns:minmax(360px,40%) minmax(0,60%); background:var(--paper); }
.public-card { grid-column:2; width:100%; min-height:100vh; padding:clamp(1.5rem,4vw,3rem); background:var(--white); box-shadow:0 20px 55px rgba(33,46,40,.08); transition:width .22s ease; }
.public-card.public-card-wide { width:min(1180px, 100%); }
.public-art { position:relative; grid-column:1; grid-row:1; display:flex; min-width:0; min-height:100vh; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:clamp(2rem,6vw,6rem); background:#d8e7dc; }.public-art:before { position:absolute; top:10%; right:9%; width:min(48vw,620px); height:min(48vw,620px); border-radius:50%; background:var(--yellow); content:""; }.public-orbit { position:absolute; border:1px solid rgba(29,36,35,.22); border-radius:50%; }.public-orbit-one { top:18%; right:-10%; width:48vw; height:20vw; transform:rotate(-26deg); }.public-orbit-two { top:35%; right:5%; width:40vw; height:14vw; transform:rotate(34deg); }.application-card-preview { position:relative; z-index:1; width:min(410px,78%); aspect-ratio:1.58; margin:auto auto 10vh; padding:1.6rem; transform:rotate(-8deg); border-radius:14px; background:#202b29; color:#f7f8f4; box-shadow:25px 30px 0 rgba(29,36,35,.12); }.application-card-top { display:flex; justify-content:space-between; color:#bcd8c4; font:500 .6rem "DM Mono", monospace; letter-spacing:.14em; }.application-card-avatar { display:grid; width:34%; aspect-ratio:1; place-items:center; margin:10% 0 7%; overflow:hidden; border-radius:50%; background:#f0c6a8; color:#704d45; box-shadow:inset 20px -15px 0 #df9e89; font:500 .5rem "DM Mono", monospace; letter-spacing:.08em; }.application-card-avatar img { display:none; width:100%; height:100%; object-fit:cover; }.application-card-avatar img.visible { display:block; }.application-card-avatar img.visible + span { display:none; }.application-card-details { display:flex; width:68%; flex-direction:column; gap:.2rem; }.application-card-details strong { overflow:hidden; font-size:clamp(.8rem,1.4vw,1.1rem); letter-spacing:-.04em; text-overflow:ellipsis; white-space:nowrap; }.application-card-details span,.application-card-details small { overflow:hidden; color:#bcd8c4; font:500 .5rem "DM Mono", monospace; letter-spacing:.08em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.application-card-details small { color:#7e9486; }.application-card-chip { position:absolute; right:1.6rem; bottom:1.6rem; width:40px; height:28px; border:1px solid #bcd8c4; border-radius:5px; }.public-art-copy { position:relative; z-index:1; max-width:290px; }.public-art-copy h2 { margin:.7rem 0; font-size:clamp(1.8rem,3vw,3rem); line-height:.95; letter-spacing:-.08em; }.public-art-copy p:not(.eyebrow) { margin:0; color:#445348; font-size:.84rem; line-height:1.5; }
.public-card { position:sticky; top:0; height:100vh; overflow-y:auto; scrollbar-color:#b9cbbd transparent; scrollbar-width:thin; }.public-card::-webkit-scrollbar { width:8px; }.public-card::-webkit-scrollbar-thumb { border:2px solid var(--white); border-radius:20px; background:#b9cbbd; }
.public-shell { height:100vh; overflow:hidden; }.public-art { position:sticky; top:0; height:100vh; }
body.public-multi-mode .public-shell { grid-template-columns:minmax(0,1180px); place-content:center; padding:2rem 1rem; }.public-multi-mode .public-card { grid-column:auto; min-height:0; }.public-multi-mode .public-art { display:none; }
body.public-multi-mode .public-card { position:static; height:auto; overflow:visible; } body.public-multi-mode .public-shell { height:auto; overflow:visible; }
.public-header { position:relative; margin-bottom:.15rem; padding:.1rem 0 1rem; border-bottom:1px solid var(--line); background:linear-gradient(125deg,#fff 0%,#f5f8f4 100%); }
.public-header:after { position:absolute; top:0; right:0; width:76px; height:4px; background:#f3df85; content:""; }
.public-nav { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.8rem; margin-bottom:.9rem; }
.public-nav-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.72rem; min-width:0; }
.public-nav-home { margin-right:auto; }
.public-nav-link { display:inline-flex; align-items:center; flex:0 0 auto; border:0; border-bottom:1px solid transparent; padding:0 0 .2rem; background:transparent; color:#8a968f; font:500 .68rem "DM Mono", monospace; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; white-space:nowrap; cursor:pointer; }
.public-nav-link:hover { border-color:var(--accent); color:var(--ink); }.public-nav-link.is-active { border-color:#e85d3f; color:#e85d3f; }.public-nav-admin { color:#e85d3f; }.public-nav-admin:hover { border-color:#e85d3f; color:#c94c36; }.public-back { color:#9aa69d; }.public-back:hover { color:#557261; }
.public-session-badge { display:flex; align-items:center; gap:.38rem; padding:0; border:0; background:transparent; color:#80651f; }.public-session-badge span { font:600 .5rem "DM Mono",monospace; letter-spacing:.08em; }.public-session-badge strong { color:#1d2423; font-size:.65rem; }.public-session-badge a { padding-left:.38rem; border-left:1px solid #e4cf76; color:#80651f; font-size:.58rem; font-weight:700; text-decoration:none; }.public-session-badge a:hover { color:#e85d3f; text-decoration:underline; }
body.authenticated-application .selector-panel { border-left:0; padding-left:0; }
.public-share-wrap { position:relative; display:inline-flex; align-items:center; }
.public-share-button { display:grid; place-items:center; width:1.8rem; height:1.8rem; border:0; border-radius:50%; padding:0; background:linear-gradient(135deg,#f3df85,#d6ad43); color:#1d2423; cursor:pointer; box-shadow:0 2px 0 rgba(138,104,23,.28); transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; }
.public-share-button:hover,.public-share-button[aria-expanded="true"] { color:#fffdf4; background:linear-gradient(135deg,#e09a27,#c96c1b); transform:translateY(-1px); box-shadow:0 4px 10px rgba(190,111,24,.28); }
.public-share-button:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.public-share-button > span:first-child { font:700 1.2rem/1 "Space Grotesk",sans-serif; }
.public-share-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.public-share-menu { position:absolute; z-index:20; top:calc(100% + .55rem); right:0; display:grid; min-width:185px; gap:.28rem; padding:.55rem; border:1px solid var(--line); background:#fffdf7; box-shadow:0 12px 28px rgba(29,36,35,.16); }
.public-share-menu[hidden] { display:none; }
.public-share-menu p { margin:0 0 .2rem; color:#8a968f; font:500 .5rem "DM Mono",monospace; text-transform:uppercase; }
.public-share-menu a,.public-share-menu button { display:block; width:100%; border:1px solid #cbd9cf; padding:.38rem .45rem; background:#fff; color:#2f795d; text-align:left; text-decoration:none; cursor:pointer; font:600 .58rem "Space Grotesk",sans-serif; }
.public-share-menu a:hover,.public-share-menu button:hover { border-color:#e85d3f; color:#e85d3f; }
.public-share-menu small { min-height:.8rem; color:#557261; font:500 .48rem/1.3 "DM Mono",monospace; }
.public-back { display:none; }
.admin-signin-modal { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:1rem; }.admin-signin-backdrop { position:absolute; inset:0; background:rgba(29,36,35,.46); backdrop-filter:blur(4px); }.admin-signin-card { position:relative; z-index:1; width:min(430px, 100%); padding:clamp(1.6rem,5vw,2.5rem); border-top:5px solid var(--accent); background:var(--white); box-shadow:0 28px 80px rgba(13,20,17,.3); }.admin-signin-close { position:absolute; top:.75rem; right:.8rem; width:28px; height:28px; border:1px solid var(--line); border-radius:50%; background:var(--white); color:var(--muted); font:500 1rem "DM Mono", monospace; cursor:pointer; }.admin-signin-close:hover { border-color:var(--accent); color:var(--accent); }.admin-signin-mark { margin-bottom:1.75rem; color:var(--ink); font-size:1.05rem; font-weight:700; letter-spacing:-.1em; }.admin-signin-mark span { color:var(--accent); margin:0 .08em; }.admin-signin-card h2 { margin:.55rem 0; font-size:clamp(2.2rem,7vw,3.4rem); line-height:.92; letter-spacing:-.08em; }.admin-signin-intro { margin:0 0 1.25rem; color:var(--muted); font-size:.84rem; line-height:1.55; }.admin-signin-form { display:grid; gap:.8rem; }.admin-signin-form label { display:flex; flex-direction:column; gap:.4rem; color:var(--muted); font-size:.74rem; font-weight:600; }.admin-signin-form input { width:100%; border:1px solid var(--line); border-radius:2px; padding:.75rem; background:#fbfcf9; color:var(--ink); font:inherit; outline:none; }.admin-signin-form input:focus { border-color:var(--ink); box-shadow:0 0 0 3px rgba(29,36,35,.08); }.admin-signin-submit { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:.25rem; border:0; border-radius:2px; padding:.85rem .9rem; background:var(--ink); color:var(--white); font:700 .76rem "Space Grotesk", sans-serif; text-decoration:none; cursor:pointer; }.admin-signin-submit:hover { background:var(--accent); }.admin-signin-submit span { color:var(--yellow); font:500 1rem "DM Mono", monospace; }.dev-access-note { display:grid; gap:.25rem; margin:1.1rem 0; padding:.72rem .8rem; border-left:3px solid #86b99a; background:#edf5ef; color:#557261; font-size:.74rem; line-height:1.4; }.dev-access-note strong { color:#2f795d; font-size:.75rem; }.admin-signin-footnote { margin:1rem 0 0; color:#98a19b; font-size:.67rem; text-align:center; }
.public-logo { display:inline-grid; place-items:center; width:40px; height:40px; margin-bottom:1rem; background:var(--ink); color:var(--white); font:500 .6rem "DM Mono", monospace; }
.public-logo.has-logo { color:transparent; background-color:transparent; background-position:center; background-repeat:no-repeat; background-size:contain; }
.eyebrow { color:var(--muted); font:500 .68rem/1 "DM Mono", monospace; letter-spacing:.14em; text-transform:uppercase; }
.public-tagline { max-width:640px; margin:.5rem 0 .8rem; color:#1d2423; font-size:clamp(2.1rem,4.8vw,3.9rem); line-height:.9; letter-spacing:-.09em; }
.public-tagline span { color:#e85d3f; }
.public-form-title { max-width:640px; margin:0; color:#1d2423; font-size:clamp(1.2rem,2vw,1.65rem); font-weight:400; line-height:1; letter-spacing:-.05em; }
.intro { max-width:600px; margin:.55rem 0 0; color:var(--muted); line-height:1.35; font-size:clamp(.82rem,1.2vw,.98rem); font-weight:400; }
.public-ai-badge { display:inline-flex; align-items:center; gap:.45rem; margin-top:.75rem; padding:.32rem .5rem; border:1px solid #c9ddd0; background:#eff7f1; color:#406b50; font-size:.6rem; }.public-ai-badge > span { display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:#36734e; color:#fff; font:600 .5rem "DM Mono",monospace; }.public-ai-badge strong { color:#28553b; font-size:.61rem; }.public-ai-badge small { padding-left:.42rem; border-left:1px solid #bcd3c3; color:#5e7a67; font:500 .54rem "DM Mono",monospace; letter-spacing:.03em; }
.public-header > *:not(.public-hero-mark) { position:relative; z-index:1; }
.public-hero-mark { position:absolute; top:auto; right:.55rem; bottom:.55rem; z-index:0; display:grid; align-items:end; justify-items:end; gap:.08rem; margin:0; padding:0; border:0; background:transparent; text-align:right; }
.public-hero-mark > span { display:block; width:auto; height:auto; border-radius:0; background:transparent; color:rgba(243,223,133,.82); font:700 clamp(5rem,9vw,8rem) "Space Grotesk",sans-serif; line-height:.68; letter-spacing:-.12em; }
.public-hero-mark strong { color:#1d2423; font-size:.66rem; }
.public-hero-mark small { padding:0; border:0; color:#69716d; font:500 .52rem "DM Mono",monospace; letter-spacing:.04em; }
.public-institute-highlight { color:#e85d3f; font-weight:400; }
.location-line { display:flex; flex-wrap:wrap; gap:.55rem; color:#557261; font:500 .72rem "DM Mono", monospace; letter-spacing:.08em; text-transform:uppercase; }
.location-line.address-hidden { display:none; }
.location-line b { color:var(--accent); font-weight:500; }
.selector-panel { padding:1.3rem 0; border-bottom:1px solid var(--line); }
.step-line { display:flex; align-items:center; gap:.75rem; margin-bottom:.85rem; }
.step-line span { display:grid; place-items:center; width:30px; height:30px; flex:0 0 auto; background:var(--yellow); font:500 .62rem "DM Mono", monospace; }
.step-line p { margin:0; font-size:.84rem; font-weight:700; }
.step-line small { margin-left:auto; color:var(--muted); font:500 .62rem "DM Mono", monospace; text-transform:uppercase; }
.selector-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.selector-grid label { display:flex; flex-direction:column; gap:.45rem; color:var(--muted); font-size:.76rem; font-weight:600; }
.selector-grid select { width:100%; border:1px solid var(--line); border-radius:2px; padding:.7rem; background:#fbfcf9; color:var(--ink); font:inherit; outline:none; }
.selector-grid select:focus { border-color:var(--ink); box-shadow:0 0 0 3px rgba(29,36,35,.08); }
.selector-grid select:disabled { color:#9aa39e; background:#f2f4f0; }
.selector-help { min-height:1rem; margin:.48rem 0 0; color:#718079; font-size:.63rem; line-height:1.3; }
.selector-help.is-selected { color:#80651f; font-weight:600; }
.public-setup-link { display:inline-flex; align-items:center; gap:.35rem; margin-top:.35rem; color:#8a6817; font-size:.62rem; font-weight:700; text-decoration:none; }
.public-setup-link:hover { color:#e85d3f; text-decoration:underline; }
.selected-institute { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:.6rem; margin-top:.6rem; padding:.5rem .65rem; border-left:3px solid #86b99a; background:#edf5ef; }.context-type { padding:.28rem .38rem; background:#d7eadc; color:#2f795d; font:500 .55rem "DM Mono", monospace; letter-spacing:.07em; text-transform:uppercase; }.context-details { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:.65rem; }.context-details strong { font-size:.78rem; }.selected-institute .location-line { justify-content:flex-end; gap:.35rem; text-align:right; font-size:.56rem; }
.form-step { margin:.62rem 0 0; padding-bottom:.42rem; border-bottom:1px solid var(--line); }.form-step span { width:26px; height:26px; background:#f3df85; }.form-step p { color:#1d2423; font-size:.78rem; }.form-step small { font-size:.56rem; }.form-step #form-version:not(:empty) { margin-left:auto; padding:.25rem .42rem; background:#fff3c7; color:#80651f; font:600 .55rem "DM Mono", monospace; letter-spacing:.05em; }
.public-form { padding-top:.7rem; }
.public-mode-toggle { display:inline-flex; gap:.15rem; margin:0; padding:.14rem; border:1px solid #d6dfd7; background:#f5f7f3; }.public-mode-toggle button { border:0; border-radius:2px; padding:.38rem .58rem; background:transparent; color:var(--muted); font:600 .61rem "Space Grotesk", sans-serif; cursor:pointer; }.public-mode-toggle button.active { background:var(--yellow); color:var(--ink); }.public-mode-toggle button:not(.active):hover { background:#fff8e2; color:#80651f; }.public-mode-toggle button:disabled { background:#e8ede9; color:#a1aaa4; cursor:not-allowed; opacity:1; }
.public-mode-ai-row { display:flex; align-items:stretch; justify-content:space-between; gap:.55rem; margin:.55rem 0 .48rem; }.public-mode-ai-row #public-mode-toggle { flex:0 0 auto; align-self:center; }.public-mode-ai-row #public-ai-import-slot { display:flex; flex:1; min-width:0; justify-content:flex-end; }.public-mode-ai-row .public-ai-import-single { width:100%; max-width:430px; margin:0; }.public-mode-ai-row .public-ai-import-single summary { min-height:28px; }.public-ai-import-single summary > b { color:#8a6817; }.public-nav-link > span:last-child,.success-action > span:last-child,.button > span:last-child { color:#8a6817; }
.application-progress { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.2rem .8rem; margin:0 0 .72rem; padding:.52rem .62rem; border-left:3px solid #d6ad43; background:#fff8e2; }.application-progress > div { display:flex; align-items:baseline; min-width:0; gap:.45rem; }.application-progress span { color:#80651f; font:500 .53rem "DM Mono", monospace; letter-spacing:.06em; text-transform:uppercase; }.application-progress strong { overflow:hidden; color:#80651f; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.application-progress p { grid-column:1 / -1; margin:0; color:#8b7748; font-size:.62rem; line-height:1.3; }.application-progress i { grid-column:1 / -1; display:block; height:3px; overflow:hidden; background:#f0dfad; }.application-progress i b { display:block; width:0; height:100%; background:#d6ad43; transition:width .18s ease; }.application-progress.is-ready { border-left-color:#2f795d; background:#e4f1e7; }.application-progress.is-ready span,.application-progress.is-ready strong { color:#2f795d; }.application-progress.is-ready p { color:#557261; }.application-progress.is-ready i { background:#d2e2d5; }.application-progress.is-ready i b { background:#2f795d; }
.field-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.8rem; }
.field-grid label { display:flex; flex-direction:column; gap:.45rem; color:var(--muted); font-size:.8rem; font-weight:600; }
.field-grid input, .field-grid textarea, .field-grid select { width:100%; border:1px solid var(--line); border-radius:2px; background:#fbfcf9; color:var(--ink); padding:.85rem; font:inherit; outline:none; }
.field-grid input:focus, .field-grid textarea:focus, .field-grid select:focus { border-color:var(--ink); box-shadow:0 0 0 3px rgba(29,36,35,.08); }
.field-grid textarea { min-height:100px; resize:vertical; }
.photo-field { grid-column:2; grid-row:1 / span 3; display:flex; min-width:0; flex-direction:column; }.photo-label { display:block; margin-bottom:.45rem; color:var(--muted); font-size:.8rem; font-weight:600; }.photo-capture { display:flex; flex:1; align-items:center; gap:.85rem; padding:.8rem; border:1px solid #bdcbc0; background:linear-gradient(145deg,#fbfcf9,#eef4ef); }.photo-preview { display:grid; place-items:center; width:96px; height:128px; flex:0 0 auto; overflow:hidden; border:3px solid var(--white); outline:1px solid #9eb5a3; background:#dfeae1; color:#557261; font:500 .58rem "DM Mono", monospace; letter-spacing:.05em; line-height:1.45; text-align:center; text-transform:uppercase; box-shadow:0 5px 14px rgba(31,55,38,.12); }.photo-preview img { display:none; width:100%; height:100%; object-fit:cover; }.photo-preview img.visible { display:block; }.photo-controls { display:flex; min-width:0; flex:1; flex-direction:column; align-items:stretch; gap:.5rem; }.photo-action-row { display:flex; flex-wrap:wrap; gap:.4rem; }.photo-control,.photo-remove { display:inline-flex; align-items:center; justify-content:center; min-height:33px; border:1px solid var(--ink); border-radius:2px; padding:.42rem .6rem; background:var(--ink); color:var(--white) !important; font:600 .66rem "Space Grotesk", sans-serif !important; cursor:pointer; }.photo-control input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }.photo-control-light,.photo-remove { background:var(--white); color:var(--ink) !important; }.photo-retake { background:#e4f1e7; border-color:#7fae89; color:#28553b !important; }.photo-remove:disabled { cursor:not-allowed; opacity:.45; }.photo-controls small { color:#557261; font-size:.62rem; line-height:1.4; }.photo-controls .hidden { display:none; }
.public-multi-wrap { min-width:0; }.public-multi-table-wrap { overflow:auto; border:1px solid var(--line); background:#fbfcf9; }.public-multi-table { width:100%; min-width:720px; border-collapse:collapse; font-size:.72rem; }.public-multi-table th { padding:.65rem .55rem; background:#edf3ed; color:#557261; font:600 .58rem "DM Mono", monospace; letter-spacing:.04em; text-align:left; text-transform:uppercase; white-space:nowrap; }.public-multi-table td { min-width:132px; padding:.36rem; border-top:1px solid var(--line); }.public-multi-table input,.public-multi-table select { width:100%; min-width:112px; border:1px solid #d6ded7; border-radius:2px; padding:.58rem .5rem; background:var(--white); color:var(--ink); font:inherit; outline:none; }.public-multi-table input:focus,.public-multi-table select:focus { border-color:var(--ink); box-shadow:0 0 0 2px rgba(29,36,35,.08); }.public-multi-photo { min-width:78px !important; }.public-multi-photo label { display:grid; place-items:center; width:52px; height:66px; overflow:hidden; border:1px dashed #9ab4a0; background:#eef4ee; color:#557261; font:500 .5rem "DM Mono", monospace; cursor:pointer; text-align:center; text-transform:uppercase; }.public-multi-photo img { display:none; width:100%; height:100%; object-fit:cover; }.public-multi-photo img.visible { display:block; }.public-multi-photo input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.public-multi-help { margin:.55rem 0 0; color:#718079; font-size:.68rem; }
.public-ai-import { display:flex; align-items:center; justify-content:space-between; gap:.8rem; margin-bottom:.65rem; padding:.65rem .75rem; border:1px solid #c9ddd0; border-left:3px solid #36734e; background:#f1f8f3; }.public-ai-import strong,.public-ai-import span { display:block; }.public-ai-import strong { color:#28553b; font-size:.7rem; }.public-ai-import span { margin-top:.12rem; color:#5f7667; font-size:.61rem; }.public-import-actions { display:flex; flex:0 0 auto; gap:.4rem; }.public-import-actions label { position:relative; overflow:hidden; padding:.48rem .62rem; background:#28553b; color:#fff; font:600 .6rem "Space Grotesk",sans-serif; cursor:pointer; }.public-import-actions label:first-child { background:#547361; }.public-ai-import input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.consent { display:flex; align-items:flex-start; gap:.65rem; margin:1.15rem 0; color:var(--muted); font-size:.72rem; line-height:1.45; }
.consent input { width:16px; height:16px; flex:0 0 auto; accent-color:var(--ink); }
.button { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; border-radius:2px; padding:1rem 1.1rem; background:var(--ink); color:var(--white); font-weight:700; cursor:pointer; }
.button:hover { background:var(--accent); }
.form-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.15rem; padding-top:1rem; border-top:1px solid var(--line); }.form-footer .consent { flex:1; margin:0; }.form-footer .button { width:auto; min-width:190px; }
.form-error { min-height:1rem; margin:.7rem 0 0; color:#b23f32; font-size:.78rem; }
.public-state { display:flex; min-height:400px; flex-direction:column; justify-content:center; }
.public-state h1 { margin:.7rem 0 1rem; }
.public-state p:not(.eyebrow) { max-width:400px; color:var(--muted); line-height:1.55; }
.success-mark { display:grid; place-items:center; width:58px; height:58px; margin-bottom:2rem; background:var(--yellow); font:500 .75rem "DM Mono", monospace; }
.reference { display:inline-block; margin:.4rem 0 1.2rem; padding:.8rem 1rem; background:var(--green); font:500 1.1rem "DM Mono", monospace; letter-spacing:.08em; }
.success-summary { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.35rem .8rem; max-width:440px; margin:0 0 1.15rem; padding:.75rem .85rem; border-left:3px solid #86b99a; background:#edf5ef; }.success-summary span { color:#718079; font:500 .56rem "DM Mono", monospace; letter-spacing:.06em; text-transform:uppercase; }.success-summary strong { overflow:hidden; color:#2f795d; font-size:.74rem; text-align:right; text-overflow:ellipsis; white-space:nowrap; }.success-note { font-size:.8rem; }
@media (max-width:620px) { .public-mode-ai-row { align-items:stretch; flex-direction:column; }.public-mode-ai-row #public-mode-toggle,.public-mode-ai-row #public-ai-import-slot { width:100%; }.public-mode-ai-row .public-ai-import-single { max-width:none; } }
@media (min-width:1151px) { .public-card { padding:clamp(1rem,2vw,1.55rem); }.public-header { margin-bottom:0; padding-bottom:.5rem; }.public-nav { margin-bottom:.38rem; }.public-logo { width:32px; height:32px; margin-bottom:.45rem; }.public-header .eyebrow { margin:.15rem 0; }.public-tagline { margin:.2rem 0 .35rem; }.public-form-title { margin:0; }.intro { margin:.3rem 0 0; }.public-ai-badge { margin-top:.35rem; }.selector-panel { padding:.62rem 0; }.step-line { gap:.48rem; margin-bottom:.42rem; }.selector-grid { gap:.42rem; }.selector-grid label,.field-grid label { gap:.26rem; }.selector-grid select { padding:.5rem .55rem; }.selector-help { min-height:0; margin:.32rem 0 0; }.selected-institute { margin-top:.35rem; }.public-form { padding-top:.42rem; }.public-mode-toggle { margin-bottom:.38rem; }.application-progress { margin-bottom:.48rem; padding:.46rem .55rem; }.field-grid { gap:.5rem; }.field-grid input,.field-grid textarea,.field-grid select { padding:.6rem; }.photo-capture { gap:.55rem; padding:.55rem; }.consent { margin:.65rem 0; }.form-footer { gap:.65rem; margin-top:.65rem; padding-top:.65rem; } }
.success-action { display:inline-flex; align-items:center; justify-content:space-between; gap:.8rem; width:auto; margin-top:.7rem; border:1px solid var(--ink); border-radius:2px; padding:.62rem .78rem; background:transparent; color:var(--ink); font:600 .7rem "Space Grotesk", sans-serif; cursor:pointer; }.success-action span { color:var(--accent); font:500 1rem "DM Mono", monospace; }.success-action:hover { border-color:var(--accent); background:#fff7f3; color:var(--accent); }
.public-state > .success-mark + .eyebrow { margin:0; }
@media (max-width:1150px) { .public-shell { display:grid; grid-template-columns:minmax(0,760px); place-content:center; height:auto; overflow:visible; padding:2rem 1rem; }.public-card { grid-column:auto; position:static; height:auto; min-height:0; overflow:visible; }.public-art { grid-column:auto; grid-row:auto; display:none; } }
@media (max-width:620px) { .public-shell,body.public-multi-mode .public-shell { padding:0; }.public-card,.public-card.public-card-wide { min-height:100vh; padding:1.5rem 1.25rem 2rem; }.public-nav { align-items:flex-start; flex-direction:column; column-gap:.78rem; row-gap:.55rem; margin-bottom:1.5rem; }.public-nav-actions { width:100%; justify-content:flex-start; }.public-share-wrap { margin-left:auto; }.selector-grid, .field-grid { grid-template-columns:1fr; }.photo-field { grid-column:auto; grid-row:auto; }.photo-capture { align-items:flex-start; flex-direction:column; }.selected-institute { grid-template-columns:1fr; }.context-details { align-items:flex-start; flex-direction:column; gap:.3rem; }.selected-institute .location-line { justify-content:flex-start; text-align:left; }.form-footer { align-items:stretch; flex-direction:column; }.form-footer .button { width:100%; }.step-line small { display:none; } }
@media (max-width:620px) { .public-hero-mark { position:static; display:inline-flex; align-items:center; justify-items:initial; gap:.45rem; margin-top:.35rem; padding:.3rem .45rem; border:1px solid #c9ddd0; background:#eff7f1; text-align:left; }.public-hero-mark > span { display:grid; place-items:center; width:19px; height:19px; border-radius:50%; background:#36734e; color:#fff; font:600 .5rem "DM Mono",monospace; line-height:1; letter-spacing:normal; }.public-hero-mark strong { font-size:.61rem; }.public-hero-mark small { padding-left:.42rem; border-left:1px solid #bcd3c3; } }
.public-multi-table th.public-required-header { color:#b23f32; background:#fff0ed; }
.public-setup-panel { margin-top:.65rem; padding:.72rem; border:1px solid #b9d1c0; border-top:3px solid #e7c24d; background:#f3f8f3; }
.public-setup-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:.7rem; }
.public-setup-heading > div { display:grid; gap:.16rem; }
.public-setup-heading strong { color:#1d2423; font-size:.82rem; }
.public-setup-close { border:0; background:transparent; color:#557261; font:600 .58rem "DM Mono",monospace; cursor:pointer; }
.public-setup-note { margin:.35rem 0 .6rem; color:#627168; font-size:.65rem; line-height:1.4; }
.public-setup-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; }
.public-setup-grid label { display:grid; gap:.2rem; color:#557261; font-size:.58rem; font-weight:600; }
.public-setup-grid input { min-width:0; padding:.45rem .5rem; border:1px solid #cbd9ce; background:#fff; color:#1d2423; font:500 .68rem "Space Grotesk",sans-serif; }
.public-setup-grid input.is-locked { border-color:#d7dfd8; background:#e9f0ea; color:#557261; cursor:not-allowed; }
.public-question-builder-wrap { min-width:0; }
.public-question-builder { padding:.6rem; border:1px solid #c8d9cd; background:#f6faf6; }
.public-question-builder > header { display:flex; align-items:flex-end; justify-content:space-between; gap:.6rem; margin-bottom:.5rem; }
.public-question-builder > header > div { display:grid; gap:.14rem; }
.public-question-builder > header span { color:#8a6817; font:600 .55rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.public-question-builder > header strong { color:#1d2423; font-size:.78rem; }
.public-question-builder > header small { max-width:245px; padding:.28rem .38rem; border-left:2px solid #d6ad43; background:#fff8e2; color:#80651f; font-size:.6rem; line-height:1.35; text-align:right; }
.public-question-builder .setup-save-hint { display:block; max-width:245px; padding:.34rem .48rem; border:1px solid #e2c45d; border-left:3px solid #d6ad43; border-radius:2px; background:#fff4c7; color:#72581a; font-weight:600; }
.setup-question-list { display:grid; gap:.3rem; }
.setup-question-row { display:grid; grid-template-columns:30px minmax(140px,.7fr) minmax(160px,1fr) 62px; align-items:center; gap:.35rem; padding:.3rem; border:1px solid #d7e2d9; background:#fff; }
.setup-question-number { color:#8a6817; font:600 .58rem "DM Mono",monospace; text-align:center; }
.setup-question-row select,.setup-question-row input,.setup-question-row textarea { width:100%; min-width:0; border:1px solid #cbd9ce; background:#fff; color:#1d2423; padding:.45rem .5rem; font:500 .68rem "Space Grotesk",sans-serif; outline:none; }
.setup-question-row textarea { min-height:2.2rem; resize:vertical; }
.setup-question-row select:focus,.setup-question-row input:focus,.setup-question-row textarea:focus { border-color:#28553b; box-shadow:0 0 0 2px rgba(40,85,59,.08); }
.setup-question-answer { min-width:0; }
.setup-answer-empty { display:block; padding:.47rem .5rem; color:#9aa69d; background:#f5f8f5; font-size:.64rem; }
.setup-photo-input { display:flex; align-items:center; justify-content:space-between; gap:.4rem; min-height:30px; padding:.3rem .45rem; border:1px dashed #9ab4a0; color:#557261; font-size:.62rem; cursor:pointer; }
.setup-photo-input input { display:none; }
.setup-simple-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; margin-bottom:.5rem; }
.setup-simple-guide span { display:flex; align-items:center; gap:.35rem; padding:.4rem .45rem; background:#eef5ef; color:#557261; font-size:.59rem; line-height:1.3; }
.setup-simple-guide b { display:grid; flex:0 0 auto; place-items:center; width:18px; height:18px; background:#28553b; color:#fff; font:600 .54rem "DM Mono",monospace; }
.setup-category-recommendation { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.45rem; margin:0 0 .45rem; padding:.38rem .48rem; border:1px solid #ead58a; background:#fff8dc; color:#655527; font-size:.59rem; line-height:1.3; }
.setup-category-recommendation strong { color:#b66d0a; white-space:nowrap; }
.setup-category-recommendation span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.setup-category-recommendation small { color:#786d4f; font-size:.53rem; white-space:nowrap; }
.setup-question-action { display:flex; justify-content:flex-end; }
.setup-row-action { border:0; padding:.34rem .38rem; background:#f2f5f1; color:#68756d; font-size:.55rem; font-weight:700; cursor:pointer; }
.setup-row-action:hover { background:#e8eee8; color:#243c2e; }
.setup-finish-action { background:#fff1bd; color:#795b14; }
.setup-required-note { color:#8a6817; font:600 .5rem "DM Mono",monospace; text-transform:uppercase; }
.setup-finished-bar { display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-top:.4rem; padding:.42rem .5rem; border:1px solid #bdd4c3; background:#edf6ef; color:#315f43; font-size:.62rem; font-weight:600; }
.setup-finished-bar button { border:1px solid #a9c5b0; padding:.3rem .42rem; background:#fff; color:#315f43; font-size:.56rem; font-weight:700; cursor:pointer; }
.setup-final-note { margin:.5rem 0 0; padding:.42rem .5rem; background:#fff8dc; color:#72581a; font-size:.61rem; line-height:1.35; }
.setup-ai-import { margin:0; }
.setup-unknown-questions { margin-top:.55rem; padding:.5rem .55rem; border:1px solid #e3c76d; background:#fffaf0; }
.setup-unknown-questions > header { display:flex; align-items:flex-start; justify-content:space-between; gap:.55rem; margin-bottom:.28rem; }
.setup-unknown-questions > header > div { display:grid; gap:.1rem; }
.setup-unknown-questions > header span { color:#8a6817; font:600 .52rem "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }
.setup-unknown-questions > header strong { color:#5d4b1b; font-size:.68rem; }
.setup-unknown-questions > header small { max-width:220px; color:#796f56; font-size:.56rem; line-height:1.3; text-align:right; }
.setup-unknown-list { display:grid; gap:.2rem; }
.setup-unknown-row { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.3rem .35rem; border-top:1px solid #eee2b9; }
.setup-unknown-row > div { display:grid; min-width:0; gap:.08rem; }
.setup-unknown-row strong { overflow:hidden; color:#3c3827; font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
.setup-unknown-row small { overflow:hidden; color:#85785a; font-size:.55rem; text-overflow:ellipsis; white-space:nowrap; }
.setup-add-question { flex:0 0 auto; border:1px solid #c9a944; padding:.3rem .42rem; background:#f7e7a6; color:#654f18; font:600 .56rem "Space Grotesk",sans-serif; cursor:pointer; }
@media (max-width:620px) { .public-question-builder > header { align-items:flex-start; flex-direction:column; }.public-question-builder > header small { max-width:none; text-align:left; }.public-question-builder .setup-save-hint { max-width:none; text-align:left; }.setup-simple-guide { grid-template-columns:1fr; }.setup-category-recommendation { grid-template-columns:1fr; }.setup-category-recommendation span { white-space:normal; }.setup-category-recommendation small { white-space:normal; }.setup-question-row { grid-template-columns:25px 1fr auto; }.setup-question-answer { grid-column:2 / 4; }.setup-question-action { grid-column:3; grid-row:1; }.setup-finished-bar { align-items:flex-start; flex-direction:column; } }
.public-setup-actions { display:flex; justify-content:flex-end; gap:.35rem; margin-top:.65rem; }
.public-setup-secondary,.public-setup-submit { min-height:28px; padding:.35rem .55rem; border:1px solid #9fbaaa; font:600 .6rem "Space Grotesk",sans-serif; cursor:pointer; }
.public-setup-secondary { background:#fff; color:#557261; }
.public-setup-submit { border-color:#28553b; background:#28553b; color:#fff; }
.public-setup-submit span { color:#f1d36d; }
.public-setup-submit:disabled { opacity:.6; cursor:wait; }
@media (max-width:760px) { .public-setup-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .public-setup-grid { grid-template-columns:1fr; } .public-setup-actions { justify-content:stretch; } .public-setup-actions button { flex:1; } }
.public-multi-table td.public-posting-place { min-width:118px; }
.public-multi-table th { padding:.34rem .3rem; }
.public-multi-table td { padding:.16rem; }
.public-multi-table input,.public-multi-table select { min-width:96px; padding:.34rem .28rem; }
.public-ai-import { min-width:0; align-items:flex-start; }
.public-ai-import > div:first-child { min-width:0; flex:1 1 300px; }
.public-import-actions { min-width:0; flex:1 1 360px; flex-wrap:wrap; justify-content:flex-end; }
.public-multi-wrap .public-ai-import { display:grid; grid-template-columns:minmax(0,1fr); gap:.45rem; }
.public-multi-wrap .public-ai-import > div:first-child { width:100%; }
.public-multi-wrap .public-ai-import span { overflow-wrap:anywhere; }
.public-multi-wrap .public-import-actions { width:100%; justify-content:flex-start; }
.public-multi-table .public-posting-manual { width:100%; min-width:0; min-height:2.15rem; box-sizing:border-box; }
.public-multi-table th.public-required-header,.public-multi-table td.public-posting-place { width:126px; min-width:126px; max-width:126px; }
.public-multi-table td.public-posting-place > select,.public-multi-table td.public-posting-place > input { display:block; width:126px !important; max-width:126px; box-sizing:border-box; }
.public-multi-table th.public-required-header { color:#557261; background:#edf3ed; }
.selected-institute,.application-progress { border-left:0; }
.public-ai-import { border-left-width:1px; }
.form-step { margin:.28rem 0 0; padding-bottom:.24rem; }
.public-mode-ai-row { margin:.3rem 0 .3rem; gap:.4rem; }
.application-progress { margin-bottom:.35rem; padding:.38rem .5rem; }
.public-ai-import { margin-bottom:.4rem; padding:.48rem .6rem; gap:.55rem; }
.public-bulk-import { display:flex; align-items:center; gap:.55rem; margin:0 0 .4rem; padding:.38rem .6rem; border:1px solid #ead9a6; background:#fffaf0; color:#6e5b2b; font-size:.62rem; }
.public-bulk-import strong { color:#715b1d; font-size:.68rem; white-space:nowrap; }
.public-bulk-import span { flex:1; color:#82734e; }
.public-bulk-import label { position:relative; overflow:hidden; padding:.3rem .48rem; background:#8a6817; color:#fff; font:600 .55rem "Space Grotesk",sans-serif; cursor:pointer; white-space:nowrap; }
.public-bulk-import input { position:absolute; width:1px; height:1px; opacity:0; }
.public-import-actions { gap:.3rem; }
.public-import-actions label,.public-import-actions button { min-height:26px; padding:.3rem .42rem; border:0; border-radius:2px; font-size:.55rem; line-height:1.1; white-space:nowrap; }
.public-import-actions button { background:#28553b; color:#fff; font:600 .55rem "Space Grotesk",sans-serif; cursor:pointer; }
.public-import-actions button:hover { background:#1d2423; }
.application-dashboard { min-width:0; }
body:not(.public-multi-mode) .application-dashboard { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:.45rem; }
body:not(.public-multi-mode) .application-dashboard #application-progress { grid-column:1; margin:0; min-height:100%; }
body:not(.public-multi-mode) .application-dashboard #public-ai-import-slot { grid-column:2; min-width:0; }
body:not(.public-multi-mode) .application-dashboard .public-ai-import-single { width:100%; max-width:none; margin:0; }
body:not(.public-multi-mode) .application-dashboard #public-fields { grid-column:1 / -1; }
body.public-multi-mode .application-dashboard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:.45rem; }
body.public-multi-mode .application-dashboard #public-ai-import-slot { display:none; }
body.public-multi-mode .application-dashboard #public-fields { display:contents; }
body.public-multi-mode .application-dashboard .application-progress { grid-column:1; margin:0; min-height:100%; }
body.public-multi-mode .application-dashboard .public-ai-import { grid-column:2; margin:0; min-height:100%; }
body.public-multi-mode .application-dashboard .public-bulk-import { grid-column:3; margin:0; min-height:100%; flex-direction:column; align-items:flex-start; justify-content:space-between; }
body.public-multi-mode .application-dashboard .public-multi-table-wrap,body.public-multi-mode .application-dashboard .public-multi-help { grid-column:1 / -1; }
@media (max-width:900px) { .public-ai-import { flex-direction:column; }.public-import-actions { width:100%; justify-content:flex-start; } }
@media (max-width:900px) { body.public-multi-mode .application-dashboard { display:block; }.application-dashboard .application-progress,.application-dashboard .public-ai-import,.application-dashboard .public-bulk-import { margin-bottom:.4rem !important; } }
@media (max-width:900px) { body:not(.public-multi-mode) .application-dashboard { display:block; }.application-dashboard #public-ai-import-slot { margin-bottom:.4rem; } }
.photo-preview { border:0; cursor:pointer; }.photo-preview:hover,.photo-preview:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.photo-control input { display:none !important; }
.photo-upload-input { display:none !important; }
.photo-field { grid-row:1 / span 2; }.photo-capture { min-height:148px; padding:.7rem; }.photo-preview { width:104px; height:136px; border:3px solid #fff; outline:1px solid #9eb5a3; }.photo-controls { justify-content:center; }.photo-action-row { align-items:center; }.photo-action-row .photo-control { min-width:82px; }.photo-action-row .photo-remove { min-width:68px; }.photo-controls small { max-width:190px; }
.photo-camera-modal { position:fixed; z-index:30; inset:0; display:grid; place-items:center; padding:1rem; }.photo-camera-backdrop { position:absolute; inset:0; background:rgba(12,24,18,.68); backdrop-filter:blur(3px); }.photo-camera-panel { position:relative; width:min(480px,100%); padding:1rem; background:#f8fbf7; box-shadow:0 24px 70px rgba(0,0,0,.28); }.photo-camera-heading { display:flex; align-items:start; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }.photo-camera-heading .eyebrow { margin:0 0 .2rem; }.photo-camera-heading h2 { margin:0; font-size:1.05rem; }.photo-camera-close { border:0; padding:.35rem; background:transparent; color:var(--muted); cursor:pointer; }.photo-camera-stage { position:relative; overflow:hidden; aspect-ratio:3/4; background:#17231b; }.photo-camera-stage video { width:100%; height:100%; object-fit:cover; transform:scaleX(-1); }.photo-camera-guide { position:absolute; top:10%; left:20%; width:60%; height:70%; border:2px solid rgba(255,255,255,.84); border-radius:48% 48% 42% 42%; box-shadow:0 0 0 999px rgba(8,17,12,.12); pointer-events:none; }.photo-camera-actions { display:flex; align-items:center; gap:.8rem; margin-top:.8rem; }.photo-camera-actions .button { min-width:180px; }.photo-camera-actions small { color:#557261; font-size:.62rem; line-height:1.4; }.photo-camera-modal.hidden { display:none; }
.public-multi-table { font-size:.66rem; }
.public-multi-table th { padding:.42rem .38rem; font-size:.53rem; }
.public-multi-table td { min-width:112px; padding:.22rem; }
.public-multi-table input, .public-multi-table select { min-width:96px; padding:.42rem .34rem; font-size:.68rem; }
.public-multi-photo { min-width:58px !important; }
.public-multi-photo label { width:42px; height:54px; }
.public-multi-number { width:28px; min-width:28px !important; padding:.22rem .12rem !important; color:#8a6817; font:600 .58rem "DM Mono", monospace; text-align:center; }
.public-required-missing { background:#fff0ed !important; }
.public-required-missing input,.public-required-missing select { border-color:#d96b5d !important; background:#fff8f6 !important; }
.application-progress p.is-ai-import { color:#c94e3d !important; font-weight:600; }

/* Live application card preview: single and batch */
.public-shell { grid-template-columns:minmax(300px,31%) minmax(0,69%); height:100vh; overflow:hidden; padding:0; }
.public-card,.public-card.public-card-wide { grid-column:2; position:sticky; top:0; width:100%; height:100vh; min-height:100vh; overflow-y:auto; padding:clamp(1rem,2vw,1.55rem); }
body.public-multi-mode .public-shell { grid-template-columns:minmax(270px,24%) minmax(0,76%); place-content:stretch; height:100vh; overflow:hidden; padding:0; }
body.public-multi-mode .public-card { grid-column:2; position:sticky; top:0; width:100%; height:100vh; min-height:100vh; overflow-y:auto; }
.public-multi-mode .public-art { display:flex; }

.public-art { position:sticky; top:0; grid-column:1; grid-row:1; display:flex; height:100vh; min-height:100vh; justify-content:flex-start; padding:1rem; background:linear-gradient(145deg,#dcebe0 0%,#cddfd2 100%); }
.public-art::before { top:15%; right:-8%; width:min(34vw,430px); height:min(34vw,430px); background:rgba(243,223,133,.78); }
.preview-panel-header { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding-bottom:.7rem; border-bottom:1px solid rgba(29,36,35,.18); }
.preview-panel-header > div { display:grid; gap:.14rem; }
.preview-panel-header span { color:#627168; font:500 .48rem "DM Mono",monospace; letter-spacing:.1em; }
.preview-panel-header strong { font-size:.68rem; }
.preview-panel-header > b { display:flex; align-items:center; gap:.4rem; color:#41624d; font:500 .47rem "DM Mono",monospace; letter-spacing:.06em; }
.preview-panel-header > b i { width:6px; height:6px; border-radius:50%; background:#4c9a65; box-shadow:0 0 0 4px rgba(76,154,101,.14); }

.application-card-stage { position:relative; z-index:1; display:grid; flex:1; min-height:300px; place-items:center; padding:1.2rem .3rem; }
.application-card-preview { display:grid; grid-template-columns:31% minmax(0,1fr); grid-template-rows:auto 1fr; width:min(390px,94%); margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:11px; padding:clamp(.85rem,2vw,1.35rem); transform:rotate(-2deg); background:linear-gradient(145deg,#152825 0%,#243a35 58%,#172824 100%); box-shadow:0 22px 44px rgba(23,42,34,.23),12px 14px 0 rgba(29,36,35,.09); }
.application-card-preview::before { position:absolute; top:0; bottom:0; left:0; width:5px; background:#efc94f; content:""; }
.application-card-preview::after { position:absolute; right:-.06em; bottom:-.26em; color:rgba(255,255,255,.035); content:"ID"; font-size:8rem; font-weight:700; line-height:1; letter-spacing:-.13em; pointer-events:none; }
.application-card-preview > * { position:relative; z-index:1; }
.application-card-top { grid-column:1 / -1; padding-bottom:.7rem; border-bottom:1px solid rgba(188,216,196,.2); }
.application-card-avatar { grid-column:1; grid-row:2; width:100%; aspect-ratio:3/4; margin:1rem 0 0; border:3px solid rgba(255,255,255,.85); border-radius:3px; background:#d6e1d8; color:#52685a; box-shadow:none; }
.application-card-details { grid-column:2; grid-row:2; align-self:center; width:auto; min-width:0; gap:.28rem; padding:1rem 0 0 1rem; }
.application-card-details strong { font-size:clamp(.78rem,1.35vw,1.08rem); }
.application-card-details span { color:#d3e4d8; }
.application-card-details small { margin-top:.2rem; color:#8da296; line-height:1.3; white-space:normal; }
.application-card-chip { right:1rem; bottom:.9rem; width:34px; height:23px; border-color:#efcf62; border-radius:4px; }

.preview-panel-footer { position:relative; z-index:2; display:grid; grid-template-columns:auto minmax(0,1fr); gap:.55rem 1rem; align-items:end; padding-top:.75rem; border-top:1px solid rgba(29,36,35,.18); }
.preview-panel-footer > div { display:grid; gap:.12rem; }
.preview-panel-footer span { color:#68766e; font:500 .47rem "DM Mono",monospace; letter-spacing:.09em; }
.preview-panel-footer strong { font-size:.7rem; }
.preview-panel-footer p { max-width:240px; justify-self:end; margin:0; color:#56675d; font-size:.57rem; line-height:1.4; text-align:right; }
.public-orbit { opacity:.65; }
.public-art-copy { display:none; }

.public-header { padding:.05rem 0 .65rem; }
.public-nav { margin-bottom:.45rem; }
.public-logo { width:32px; height:32px; margin-bottom:.45rem; }
.public-header .eyebrow { margin:.12rem 0; }
.public-tagline { margin:.25rem 0 .45rem; font-size:clamp(1.9rem,3.5vw,3.25rem); }
.public-form-title { font-size:clamp(1.08rem,1.6vw,1.45rem); }
.intro { margin:.35rem 0 0; font-size:clamp(.72rem,1vw,.86rem); }
.public-ai-badge { margin-top:.4rem; }

@media (max-width:1150px) and (min-width:761px) {
  .public-shell,body.public-multi-mode .public-shell { grid-template-columns:minmax(260px,29%) minmax(0,71%); place-content:stretch; height:100vh; overflow:hidden; padding:0; }
  .public-card,.public-card.public-card-wide,body.public-multi-mode .public-card { grid-column:2; position:sticky; top:0; width:100%; height:100vh; min-height:100vh; overflow-y:auto; }
  .public-art,.public-multi-mode .public-art { grid-column:1; grid-row:1; display:flex; height:100vh; min-height:100vh; }
  .application-card-stage { min-height:250px; }
  .application-card-preview { width:min(330px,96%); padding:.85rem; }
  .application-card-details { padding-left:.7rem; }
  .preview-panel-footer { grid-template-columns:1fr; align-items:start; }
  .preview-panel-footer p { justify-self:start; text-align:left; }
}

@media (max-width:760px) {
  .public-shell,body.public-multi-mode .public-shell { grid-template-columns:1fr; height:auto; overflow:visible; padding:0; }
  .public-art,.public-multi-mode .public-art { position:relative; grid-column:1; grid-row:1; display:flex; width:100%; height:auto; min-height:300px; padding:.75rem 1rem; }
  .public-card,.public-card.public-card-wide,body.public-multi-mode .public-card { position:static; grid-column:1; grid-row:2; width:100%; height:auto; min-height:100vh; overflow:visible; }
  .application-card-stage { min-height:190px; padding:.75rem .2rem; }
  .application-card-preview { width:min(300px,88%); padding:.8rem; transform:rotate(-1deg); }
  .application-card-preview::after { font-size:6rem; }
  .application-card-avatar { margin-top:.7rem; }
  .application-card-details { padding:.7rem 0 0 .7rem; }
  .preview-panel-footer { padding-top:.55rem; }
  .public-orbit-one { width:90vw; height:36vw; }
  .public-orbit-two { width:76vw; height:30vw; }
}

@media (max-width:480px) {
  .public-art,.public-multi-mode .public-art { min-height:270px; padding:.65rem .75rem; }
  .preview-panel-header > b { display:none; }
  .application-card-stage { min-height:175px; padding:.55rem .1rem; }
  .application-card-preview { width:min(265px,88%); border-radius:8px; padding:.7rem; }
  .application-card-top { padding-bottom:.45rem; font-size:.48rem; }
  .application-card-avatar { margin-top:.55rem; }
  .application-card-details { gap:.15rem; padding:.55rem 0 0 .55rem; }
  .application-card-chip { right:.7rem; bottom:.6rem; width:27px; height:18px; }
  .preview-panel-footer p { display:none; }
  .public-card,.public-card.public-card-wide { padding:1.1rem .9rem 1.6rem; }
}

/* Application workspace: one visual system for single and batch entry. */
.public-mode-ai-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.55rem 0; padding:.62rem .7rem; border:1px solid #d8e2db; background:#f8faf8; }
.public-mode-copy { display:grid; min-width:0; gap:.08rem; }
.public-mode-copy span,.smart-input-panel > div:first-child > span,.smart-input-summary > div > span { color:#47705a; font:500 .48rem "DM Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }
.public-mode-copy strong { color:#243e31; font-size:.72rem; }
.public-mode-copy small { color:#728078; font-size:.58rem; line-height:1.35; }
.public-mode-ai-row #public-mode-toggle { flex:0 0 auto; align-self:center; margin:0; }

body:not(.public-multi-mode) .application-dashboard { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:.55rem; }
body:not(.public-multi-mode) .application-dashboard #application-progress,
body:not(.public-multi-mode) .application-dashboard #public-ai-import-slot { grid-column:auto; min-width:0; margin:0; }
body:not(.public-multi-mode) .application-dashboard #public-fields { grid-column:1 / -1; }
.application-progress { min-height:90px; padding:.72rem .75rem; border:1px solid #ead9a6; background:#fffaf0; }
.application-progress > div { align-items:flex-start; flex-direction:column; gap:.12rem; }
.application-progress strong { font-size:.72rem; white-space:normal; }
.application-progress p { align-self:end; }

.smart-input-panel { min-height:90px; margin:0; padding:.68rem .72rem; border:1px solid #c9ddd0; background:#f1f8f3; }
.public-ai-import-single { display:block; width:100%; max-width:none; }
.smart-input-summary { display:flex; align-items:center; justify-content:space-between; gap:.7rem; min-height:0; list-style:none; cursor:pointer; }
.smart-input-summary::-webkit-details-marker { display:none; }
.smart-input-summary > div,.smart-input-panel > div:first-child { display:grid; min-width:0; gap:.08rem; }
.smart-input-summary strong,.smart-input-panel > div:first-child > strong { color:#28553b; font-size:.72rem; }
.smart-input-summary small,.smart-input-panel > div:first-child > small { color:#607368; font-size:.58rem; line-height:1.35; }
.smart-input-summary > b { display:grid; flex:0 0 25px; width:25px; height:25px; border:1px solid #bcd2c3; border-radius:50%; place-items:center; color:#2e6d48; font-size:.8rem; transition:transform .18s ease; }
.public-ai-import-single[open] .smart-input-summary > b { transform:rotate(45deg); }
.smart-input-actions { align-items:center; margin-top:.55rem; padding-top:.5rem; border-top:1px solid #d5e5d9; }
.smart-input-actions label,.smart-input-actions button,.public-bulk-import > label { min-height:32px; padding:.46rem .62rem; border:0; font:600 .58rem "Space Grotesk",sans-serif; }
.smart-input-actions .public-source-upload { display:flex; min-width:150px; max-width:260px; flex-direction:column; align-items:flex-start; gap:.12rem; }
.public-source-upload small { max-width:100%; overflow:hidden; color:#dce9df; font:500 .5rem "DM Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }
.smart-input-actions button { border:1px solid #bdd1c2; background:#fff; color:#315b43; cursor:pointer; }

body.public-multi-mode .application-dashboard { display:block; }
body.public-multi-mode .application-dashboard #application-progress { min-height:0; margin:0 0 .55rem; }
body.public-multi-mode .application-dashboard #public-fields { display:block; }
.public-batch-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.55rem; margin-bottom:.55rem; }
.public-batch-tools .public-ai-import,.public-batch-tools .public-bulk-import { display:flex; grid-column:auto; min-height:100%; margin:0; align-items:flex-start; justify-content:space-between; flex-direction:column; gap:.55rem; }
.public-batch-tools .public-bulk-import { border:1px solid #ead9a6; background:#fffaf0; }
.public-batch-tools .public-bulk-import > div > span { color:#8a6817; }
.public-batch-tools .public-bulk-import > div > strong { color:#6e5619; white-space:normal; }
.public-batch-tools .public-bulk-import > div > small { color:#7d714f; }
.public-batch-tools .public-bulk-import > label { position:relative; overflow:hidden; align-self:flex-start; background:#8a6817; color:#fff; cursor:pointer; }

@media (max-width:900px) {
  .public-mode-ai-row { align-items:stretch; flex-direction:column; }
  .public-mode-ai-row #public-mode-toggle { width:100%; }
  body:not(.public-multi-mode) .application-dashboard { display:block; }
  .application-dashboard #public-ai-import-slot,.application-dashboard .application-progress { margin-bottom:.55rem !important; }
}

@media (max-width:620px) {
  .public-batch-tools { grid-template-columns:1fr; }
  .smart-input-actions { align-items:stretch; flex-direction:column; }
  .smart-input-actions label,.smart-input-actions button { width:100%; text-align:center; }
}

/* Matched status and AI-start cards in both application modes. */
body:not(.public-multi-mode) .application-dashboard,
body.public-multi-mode .application-dashboard { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:.55rem; }
body:not(.public-multi-mode) .application-dashboard #application-progress,
body.public-multi-mode .application-dashboard #application-progress { grid-column:1; min-height:126px; margin:0; }
body:not(.public-multi-mode) .application-dashboard #public-ai-import-slot,
body.public-multi-mode .application-dashboard #public-ai-import-slot { display:block; grid-column:2; min-width:0; margin:0; }
body:not(.public-multi-mode) .application-dashboard #public-fields,
body.public-multi-mode .application-dashboard #public-fields { display:block; grid-column:1 / -1; }

.application-progress { display:flex; flex-direction:column; justify-content:space-between; gap:.45rem; padding:.72rem .78rem; }
.application-progress > header,.smart-input-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:.65rem; }
.application-progress > header > div,.smart-input-panel > header > div { display:grid; min-width:0; gap:.12rem; }
.application-progress > header span,.smart-input-panel > header span { color:#80651f; font:500 .48rem "DM Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }
.application-progress > header strong,.smart-input-panel > header strong { color:#654f18; font-size:.76rem; line-height:1.25; white-space:normal; }
.application-progress > header > b,.smart-input-panel > header > b { display:grid; flex:0 0 34px; width:34px; height:34px; border:1px solid #ddc77f; border-radius:50%; place-items:center; color:#80651f; font:600 .56rem "DM Mono",monospace; }
.application-progress > p { align-self:auto; color:#7f7048; font-size:.61rem; line-height:1.4; }
.application-progress > i { flex:0 0 4px; }
.application-progress.is-ready > header span,.application-progress.is-ready > header strong { color:#2f795d; }
.application-progress.is-ready > header > b { border-color:#9fc4ab; color:#2f795d; }

#public-ai-import-slot > .smart-input-panel { height:100%; }
.public-ai-import-single.smart-input-panel { display:flex; flex-direction:column; justify-content:space-between; gap:.42rem; min-height:126px; padding:.72rem .78rem; }
.smart-input-panel > header span { color:#36734e; }
.smart-input-panel > header strong { color:#28553b; }
.smart-input-panel > header > b { border-color:#a9cbb4; background:#e2f0e6; color:#2f795d; }
.public-ai-import-single.smart-input-panel > p { margin:0; color:#607368; font-size:.61rem; line-height:1.4; }
.public-ai-provider { display:flex; align-items:center; gap:.35rem; flex:0 0 auto; margin-left:auto; align-self:flex-start; color:#47705a; font:500 .48rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.public-ai-provider select { min-height:28px; padding:.28rem 1.55rem .28rem .46rem; border:1px solid #a9cbb4; border-radius:5px; background:#fff; color:#28553b; font:600 .6rem "Space Grotesk",sans-serif; letter-spacing:0; text-transform:none; outline:none; }
.public-ai-provider select:focus { border-color:#36734e; box-shadow:0 0 0 2px rgba(54,115,78,.14); }
.public-ai-import-single .smart-input-actions { margin:0; padding:.42rem 0 0; }
.public-ai-import-status { display:flex; align-items:center; gap:.34rem; min-height:20px; margin:0; padding:.3rem .42rem; border:1px solid #c7ddd0; background:#f8fcf9; color:#4e6959; font-size:.56rem; line-height:1.3; }
.public-ai-import-status i { display:block; flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#8ca799; }
.public-ai-import-status.is-reading { border-color:#d9bd67; background:#fff8df; color:#72581a; }
.public-ai-import-status.is-reading i { background:#b98919; animation:public-ai-read 1s ease-in-out infinite; }
.public-ai-import-status.is-success { border-color:#9bc8a9; background:#eef8f0; color:#2e6a46; }
.public-ai-import-status.is-success i { background:#3e9662; }
.public-ai-import-status.is-error { border-color:#e6aaa4; background:#fff1ef; color:#a13d35; }
.public-ai-import-status.is-error i { background:#d05a50; }
.public-ai-import.is-reading .smart-input-actions { opacity:.6; pointer-events:none; }
.public-ai-import.has-import-error { border-color:#e4aaa2; background:#fff9f7; }
@keyframes public-ai-read { 50% { transform:scale(1.55); opacity:.48; } }

.public-bulk-import-wide { display:flex; min-height:0; margin:0 0 .55rem; padding:.6rem .72rem; flex-direction:row; align-items:center; justify-content:space-between; gap:.8rem; }
.public-bulk-import-wide > div { display:grid; min-width:0; gap:.08rem; }
.public-bulk-import-wide > label { flex:0 0 auto; align-self:center; }

@media (max-width:900px) {
  body:not(.public-multi-mode) .application-dashboard,
  body.public-multi-mode .application-dashboard { display:block; }
  .application-dashboard #application-progress,.application-dashboard #public-ai-import-slot { margin-bottom:.55rem !important; }
  .public-bulk-import-wide { align-items:flex-start; flex-direction:column; }
}

/* Specificity corrections verified against the rendered Single and Batch forms. */
.public-ai-import-single .smart-input-actions { flex:0 0 auto; width:100%; align-self:stretch; justify-content:flex-start; }
body.public-multi-mode .application-dashboard .public-bulk-import-wide { min-height:0; flex-direction:row; align-items:center; justify-content:space-between; }

@media (max-width:900px) {
  body.public-multi-mode .application-dashboard .public-bulk-import-wide { align-items:flex-start; flex-direction:column; }
}

/* Public fields always follow the exact sequence configured by Admin. */
body:not(.public-multi-mode) .application-dashboard #public-fields.public-fields-admin-order { display:grid; }
.public-fields-admin-order { grid-auto-flow:row; align-items:start; gap:.52rem; padding:.65rem; border:1px solid #dbe3dd; background:#fbfcfb; }
.public-fields-admin-order .photo-field { grid-column:auto; grid-row:span 2; align-self:stretch; }
.public-fields-admin-order .photo-capture { min-height:122px; }
.public-fields-admin-order .photo-preview { width:78px; height:104px; }
.public-fields-admin-order .public-field-wide { grid-column:1 / -1; }

@media (max-width:620px) {
  .public-fields-admin-order { grid-template-columns:1fr; padding:.6rem; }
  .public-fields-admin-order .photo-field { grid-row:auto; }
  .public-fields-admin-order .public-field-wide { grid-column:auto; }
}

/* Keep one-person questions readable: details in one column, photo in a side rail. */
@media (min-width:621px) {
  body:not(.public-multi-mode) .public-fields-admin-order { grid-template-columns:minmax(0,1fr) minmax(150px,220px); }
  body:not(.public-multi-mode) .public-fields-admin-order .photo-field { grid-column:2; grid-row:1 / span 3; align-self:start; }
  body:not(.public-multi-mode) .public-fields-admin-order > :not(.photo-field):not(.public-related-pair) { grid-column:1; }
  body:not(.public-multi-mode) .public-fields-admin-order > .public-related-pair { grid-column:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  body:not(.public-multi-mode) .public-fields-admin-order .public-field-wide { grid-column:1; }
}

@media (max-width:620px) {
  body:not(.public-multi-mode) .public-fields-admin-order .photo-field { grid-column:1; grid-row:1; }
  body:not(.public-multi-mode) .public-fields-admin-order > .public-related-pair { grid-column:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; }
}

/* Soft field accents make each question easy to scan without overpowering the form. */
body:not(.public-multi-mode) .public-fields-admin-order > label,
body:not(.public-multi-mode) .public-fields-admin-order .public-related-pair > label {
  padding:.48rem .58rem;
  border:1px solid #dbe5dd;
  border-radius:2px;
  background:#f5faf6;
}
body:not(.public-multi-mode) .public-fields-admin-order > label:nth-of-type(3n+2),
body:not(.public-multi-mode) .public-fields-admin-order .public-related-pair > label:nth-child(2) {
  border-color:#eadfb3;
  background:#fffaf0;
}
body:not(.public-multi-mode) .public-fields-admin-order > label:nth-of-type(3n+3) {
  border-color:#d7e2eb;
  background:#f4f8fb;
}
body:not(.public-multi-mode) .public-fields-admin-order > label > input,
body:not(.public-multi-mode) .public-fields-admin-order > label > select,
body:not(.public-multi-mode) .public-fields-admin-order > label > textarea,
body:not(.public-multi-mode) .public-fields-admin-order .public-related-pair > label > input,
body:not(.public-multi-mode) .public-fields-admin-order .public-related-pair > label > select,
body:not(.public-multi-mode) .public-fields-admin-order .public-related-pair > label > textarea {
  background:#fff;
}

/* Blend the live preview and form into one continuous workspace. */
.public-shell { background:linear-gradient(90deg,#d7e7db 0%,#e7f0e9 31%,#fff 42%,#fff 100%); }
.public-art { background:linear-gradient(145deg,#dcebe0 0%,#cfded3 68%,#e8f0e9 100%); }
.public-art::after { position:absolute; z-index:0; top:0; right:0; bottom:0; width:72px; background:linear-gradient(90deg,rgba(232,240,233,0),rgba(244,248,244,.92)); content:""; pointer-events:none; }
.public-card,.public-card.public-card-wide { background:linear-gradient(90deg,#f1f6f2 0,#fbfcfb 42px,#fff 105px,#fff 100%); box-shadow:none; }
.public-card::-webkit-scrollbar-thumb { border-color:#fbfcfb; }

@media (max-width:760px) {
  .public-shell { background:linear-gradient(180deg,#dcebe0 0,#edf4ee 270px,#fff 380px); }
  .public-art::after { top:auto; right:0; bottom:0; left:0; width:auto; height:54px; background:linear-gradient(180deg,rgba(232,240,233,0),rgba(248,251,248,.95)); }
  .public-card,.public-card.public-card-wide { background:linear-gradient(180deg,#f5f8f5 0,#fff 90px,#fff 100%); }
}
