:root{--pub-gap:14px}.public-survey-page{margin:0;background:#f5f7fb;color:#1f2937;font-family:system-ui,-apple-system,"Noto Sans Thai",sans-serif}.public-survey-shell{max-width:760px;margin:0 auto;padding:14px 12px 50px}.public-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;margin:12px 0;box-shadow:0 2px 10px rgba(0,0,0,.04)}.public-card.compact{padding:12px}.public-logo{font-size:42px}.public-card h1{margin:4px 0 6px}.public-card label,.public-form label{display:grid;gap:6px;font-weight:600;margin:10px 0}.public-card input,.public-card select,.public-card textarea,.public-form input,.public-form select,.public-form textarea{width:100%;box-sizing:border-box;min-height:48px;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font-size:16px;background:#fff}.inspector-results,.survey-results,.catalog-results{display:grid;gap:8px;margin-top:10px}.inspector-results button,.catalog-results button{width:100%;text-align:left;border:1px solid #dbe2ea;background:#fff;border-radius:12px;padding:12px}.selected-inspector{background:#eef6ff;border:1px solid #b8d9ff;border-radius:12px;padding:12px;margin:10px 0}.public-top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:0 0 14px 14px;box-shadow:0 2px 10px rgba(0,0,0,.08)}.public-top small{display:block;color:#64748b}.public-progress{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#eaf7ef;border:1px solid #b8e0c6;border-radius:14px;padding:10px 12px;margin-top:12px}.public-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.public-tabs button{border:0;border-radius:12px;padding:12px;font-weight:700}.public-tabs button.active{background:#1f6feb;color:#fff}.public-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.field-mode-card{min-height:110px;border:1px solid #d9e2ec;background:#fff;border-radius:16px;padding:12px;text-align:left}.field-mode-card.active{outline:3px solid rgba(31,111,235,.18);border-color:#1f6feb}.field-mode-icon{display:block;font-size:28px}.field-mode-card small{display:block;color:#64748b;margin-top:4px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-head{display:flex;justify-content:space-between}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.big-save{min-height:56px;font-size:18px}.my-records{display:grid;gap:10px}.my-record{border:1px solid #e5e7eb;border-radius:12px;padding:12px}.my-record small{display:block;color:#64748b}.inspection-photo-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.inspection-photo-thumb{position:relative}.inspection-photo-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}.inspection-photo-thumb button{position:absolute;right:4px;top:4px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#b91c1c}.survey-selected{background:#fff;border:1px dashed #b7c3d0;border-radius:14px;padding:14px;margin:12px 0}.survey-selected small{display:block;color:#64748b;margin-top:4px}@media(max-width:560px){.public-modes{grid-template-columns:1fr}.field-mode-card{min-height:84px}.two{grid-template-columns:1fr}.public-progress{align-items:flex-start;flex-direction:column}.inspection-photo-preview{grid-template-columns:repeat(2,1fr)}}

.duplicate-guard-notice{margin:12px 0;padding:13px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.duplicate-guard-notice.danger{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.survey-tag-card{margin:12px 0;padding:16px;border-radius:16px;background:#eef6ff;border:2px dashed #2563eb;text-align:center}.survey-tag-card strong{display:block;font-size:26px;letter-spacing:.8px;color:#1d4ed8;margin:4px 0}.survey-tag-card p{margin:6px 0 0;color:#475569;font-size:14px}.claim-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:700}

.batch-toggle{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;background:#f8fafc;border:1px solid #cbd5e1;border-radius:14px;padding:12px}.batch-toggle input{width:22px!important;min-height:22px!important;margin-top:2px}.batch-toggle span{display:block}.batch-toggle small{display:block;font-weight:400;color:#64748b;margin-top:3px}
/* Mobile-first field survey refinement */
.mobile-step-title{display:flex;gap:10px;align-items:center;margin:14px 2px 8px}.mobile-step-title>span{flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#1f6feb;color:#fff;font-weight:800}.mobile-step-title strong{display:block;font-size:16px}.mobile-step-title small{display:block;color:#64748b;margin-top:1px}.mobile-survey-form{padding-bottom:94px}.condition-block{margin:10px 0}.condition-block>strong{display:block;margin-bottom:8px}.condition-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.condition-buttons button{min-height:48px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;font-weight:700;font-size:15px}.condition-buttons button.active{border-color:#1f6feb;background:#eef6ff;color:#164b9b;box-shadow:0 0 0 2px rgba(31,111,235,.12)}.condition-select-fallback{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.inline-quick{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 8px}.quick-fill{border:1px solid #86b7ea;background:#eef6ff;color:#164b9b;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:700}.quick-fill.secondary{border-color:#cbd5e1;background:#f8fafc;color:#475569}.photo-step{margin-top:18px}.mobile-save-bar{position:sticky;bottom:0;z-index:30;margin:14px -18px -18px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #dbe2ea;box-shadow:0 -6px 18px rgba(15,23,42,.08);display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,1fr);gap:10px;align-items:center}.mobile-save-bar small,.mobile-save-bar strong{display:block}.mobile-save-bar small{color:#64748b}.mobile-save-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-top{padding-top:calc(10px + env(safe-area-inset-top))}.public-survey-shell{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.result-card{width:100%;text-align:left;border:1px solid #dbe2ea;background:#fff;border-radius:14px;padding:12px;min-height:68px}.result-card:active,.inspector-results button:active,.catalog-results button:active{transform:scale(.99);background:#f8fafc}
@media(max-width:560px){.public-survey-shell{padding-left:8px;padding-right:8px}.public-card{border-radius:14px;padding:14px;margin:8px 0}.public-top{margin:0 -8px;border-radius:0 0 12px 12px}.public-tabs{position:sticky;top:58px;z-index:18;background:#f5f7fb;padding:6px 0;margin:6px 0}.public-modes{grid-template-columns:1fr 1fr}.public-modes .field-mode-card:first-child{grid-column:1/-1}.field-mode-card{min-height:74px;padding:11px}.field-mode-icon{font-size:24px}.condition-buttons{grid-template-columns:1fr 1fr}.photo-actions{display:grid;grid-template-columns:1fr 1fr}.photo-actions .btn{min-height:52px;display:flex;justify-content:center;align-items:center}.mobile-save-bar{grid-template-columns:1fr;margin-left:-14px;margin-right:-14px;margin-bottom:-14px}.mobile-save-bar>div{display:none}.big-save{min-height:58px;font-size:18px}.inspection-photo-preview{grid-template-columns:repeat(3,1fr)}.public-form input,.public-form select,.public-form textarea,.public-card input,.public-card select,.public-card textarea{font-size:16px;min-height:50px}.mobile-step-title{margin-top:12px}.quick-fill{min-height:42px}.survey-selected{padding:12px}.public-progress{position:sticky;top:58px;z-index:17;margin:0 -2px 6px}.public-progress+ .public-tabs{top:112px}}

/* 2026-10-03 Mobile field v2: true task-focused flow */
.mobile-field-header{display:none}
.mobile-change-item{margin:0 0 10px}
.identity-details>summary,.optional-field-details>summary{cursor:pointer;font-weight:800;color:#334155;padding:11px 2px}
.optional-field-details{border-top:1px solid #e5e7eb;margin-top:8px}

@media(max-width:560px){
  body.public-survey-page{background:#f3f6fa}
  .public-survey-shell{padding:0 0 calc(86px + env(safe-area-inset-bottom));max-width:none}
  .public-top{margin:0;border-radius:0;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));box-shadow:0 1px 5px rgba(15,23,42,.08)}
  .public-top strong{font-size:14px}.public-top small{font-size:11px}.public-top .btn{min-height:38px;padding:7px 12px}
  .public-progress{position:static!important;margin:8px 10px 4px;padding:8px 10px;flex-direction:row!important;align-items:center!important;border-radius:12px;font-size:12px}
  .public-progress strong{font-size:13px}.public-progress span{font-size:11px;text-align:right}
  .public-tabs{position:static!important;margin:5px 10px 8px;padding:0;background:transparent;gap:5px}
  .public-tabs button{min-height:42px;padding:8px;font-size:14px}

  .mobile-field-header{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:11px 12px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:16}
  .mobile-field-header b{font-size:15px}.mobile-field-header small{display:block;font-size:11px;color:#64748b;margin-top:1px}
  .mobile-field-header>span{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;background:#eaf2ff;color:#1d4ed8}

  #mobileSearchStage,#mobileSelectedStage{padding:0 10px}
  .mobile-step-title{margin:10px 0 6px;gap:8px}.mobile-step-title>span{width:26px;height:26px;flex-basis:26px;font-size:13px}.mobile-step-title strong{font-size:14px}.mobile-step-title small{font-size:11px}

  .public-modes{grid-template-columns:1fr 1fr 1fr!important;gap:6px}
  .public-modes .field-mode-card:first-child{grid-column:auto!important}
  .field-mode-card{min-height:72px!important;padding:8px!important;border-radius:13px;text-align:center}
  .field-mode-icon{font-size:22px!important}.field-mode-card strong{display:block;font-size:12px;line-height:1.15}.field-mode-card small{font-size:9px;line-height:1.15}

  #searchPanel.public-card,#qrPanel.public-card{padding:8px;margin:7px 0;border-radius:13px;box-shadow:none}
  #assetSearchPublic{min-height:46px!important;padding:9px 11px!important}
  .survey-results{max-height:42vh;overflow:auto;-webkit-overflow-scrolling:touch}
  .result-card{min-height:60px;padding:9px 10px;border-radius:11px}.result-card b{font-size:13px}.result-card small{font-size:10px;line-height:1.3}

  #mobileSelectedStage>.mobile-step-title{display:none}
  .survey-selected{position:sticky;top:0;z-index:12;margin:7px 0 5px;padding:10px 11px;border-style:solid;background:#f0f7ff;border-color:#9fc6f3;box-shadow:0 3px 10px rgba(15,23,42,.06)}
  .survey-selected b{font-size:14px;display:block;line-height:1.3}.survey-selected small{font-size:10px;line-height:1.25;margin-top:2px}.claim-badge{font-size:9px;padding:2px 6px;margin-top:4px}
  .mobile-change-item{min-height:39px!important;padding:7px!important;font-size:12px;margin:0 0 6px}
  .duplicate-guard-notice{font-size:12px;margin:6px 0;padding:9px}
  .survey-tag-card{padding:10px;margin:6px 0}.survey-tag-card strong{font-size:18px}.survey-tag-card p{font-size:10px}

  .mobile-survey-form.public-card{margin:6px 0 0;padding:10px 10px 86px;border-radius:14px;box-shadow:none}
  .mobile-survey-form>.mobile-step-title:first-child{margin-top:0}
  .new-item-identity label{margin:7px 0}
  body:not(.survey-new-item) .new-item-identity{display:none!important}
  .identity-details,.optional-field-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;padding:0 9px;margin:7px 0}
  .identity-details>summary,.optional-field-details>summary{font-size:12px;padding:10px 1px}
  .identity-details[open],.optional-field-details[open]{padding-bottom:7px}
  .public-form label{font-size:12px;margin:7px 0;gap:4px}
  .public-form input,.public-form select,.public-form textarea{min-height:44px!important;font-size:16px!important;border-radius:10px;padding:8px 10px}
  .two{gap:6px}

  .condition-block{margin:7px 0 10px}.condition-block>strong{font-size:13px;margin-bottom:5px}
  .condition-buttons{grid-template-columns:repeat(4,1fr)!important;gap:5px}
  .condition-buttons button{min-height:44px!important;padding:5px 3px;font-size:11px!important;border-radius:10px;line-height:1.15}

  #deptPublic{min-height:44px}
  .inline-quick{margin:0 0 5px;gap:5px}.quick-fill{min-height:36px!important;padding:6px 9px;font-size:11px}
  #locPublic,#holderSearchPublic,#holderFreeTextPublic{min-height:44px!important}
  #selectedHolderPublic{padding:8px 10px;margin:5px 0;font-size:12px}
  #holderResultsPublic{max-height:32vh;overflow:auto}
  #holderResultsPublic button{padding:9px}.catalog-results button b{font-size:12px}.catalog-results button small{font-size:10px}

  .photo-step{margin-top:10px}.photo-box{background:#f7fbff;border:1px solid #cfe0f3;border-radius:12px;padding:9px}
  .photo-head{font-size:12px}.photo-actions{grid-template-columns:1.35fr .85fr!important;gap:6px;margin:7px 0}
  .photo-actions .btn{min-height:48px!important;font-size:13px;border-radius:11px}
  .inspection-photo-preview{grid-template-columns:repeat(4,1fr)!important;gap:5px}.inspection-photo-thumb img{border-radius:8px}.inspection-photo-thumb button{width:24px;height:24px;font-size:13px}
  .batch-toggle{padding:8px;border-radius:11px;font-size:11px}.batch-toggle input{width:20px!important;min-height:20px!important}.batch-toggle small{font-size:9px}

  .mobile-save-bar{position:fixed!important;left:0;right:0;bottom:0;margin:0!important;padding:8px 10px calc(8px + env(safe-area-inset-bottom));grid-template-columns:1fr!important;background:rgba(255,255,255,.98);box-shadow:0 -5px 18px rgba(15,23,42,.13);z-index:99}
  .mobile-save-bar>div{display:none!important}.big-save{min-height:52px!important;font-size:16px!important;border-radius:12px}

  .survey-inspecting #mobileSearchStage{display:none!important}
  .survey-inspecting #mobileSelectedStage{display:block!important}
  body:not(.survey-inspecting) #mobileSelectedStage{display:none!important}

  /* Keep the field form focused: secondary fields are collapsed until requested */
  .survey-inspecting .optional-field-details:not([open]) label{display:none}
  .survey-inspecting #identityDetails:not([open])>*:not(summary){display:none}

  #tab-mine{padding:0 10px}.my-record{padding:9px;font-size:12px}.my-record small{font-size:10px}
}

@media(max-width:380px){
  .field-mode-card strong{font-size:11px}.field-mode-card small{display:none}.condition-buttons button{font-size:10px!important}.public-top strong{font-size:13px}
}

.photo-local-msg{font-size:13px;color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:8px 10px;margin:6px 0 8px}.inspection-photo-thumb small{display:block;font-size:11px;color:#64748b;margin-top:3px}.inspection-photo-thumb.preview-error{border:1px solid #f59e0b;border-radius:10px;padding:4px}.photo-actions input[type=file]{display:none!important}
