:root{--green: #0b5d1e;--green-2: #137a2a;--lime: #7dc21e;--bg: #f4f7f2;--muted: #66756a}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);font-family:Sarabun,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-tap-highlight-color:transparent}.muted{color:var(--muted)}.app-shell{min-height:100vh}.app-sider{position:sticky;top:0;height:100vh;overflow:auto}.sider-brand{color:#fff;font-weight:700;font-size:18px;letter-spacing:.5px;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:8px}.sider-brand span{color:var(--lime)}.sider-brand small{display:block;font-weight:400;font-size:12px;opacity:.7;letter-spacing:0}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;border-bottom:3px solid var(--lime);box-shadow:0 1px 4px #0000000d;padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top))}.header-logo{height:34px;width:auto}.header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.user-btn{display:inline-flex;align-items:center;gap:8px}.app-content{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.page{max-width:1080px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.page-title.ant-typography{color:var(--green);margin:4px 0 16px}.cta-card{background:linear-gradient(120deg,var(--green),var(--green-2));color:#fff;margin-bottom:12px;border:0}.cta-card .ant-card-body{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.cta-card h3{margin:0;font-size:20px;color:#fff}.cta-card p{margin:4px 0 0;opacity:.85}.cta-card .ant-btn{background:var(--lime);border-color:var(--lime);color:var(--green);font-weight:700}.stats{margin-bottom:16px}.inspection-list .ant-list-item{cursor:pointer;border-radius:8px;padding-left:8px;padding-right:8px}.inspection-list .ant-list-item:hover{background:#f6faf2}.section-card{margin-bottom:12px}.section-card .ant-card-head{color:var(--green)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));column-gap:16px}.form-grid .span-all{grid-column:1 / -1}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill-group .ant-radio-button-wrapper{border-radius:8px!important;border-inline-start-width:1px;height:40px;line-height:38px}.pill-group .ant-radio-button-wrapper:before{display:none!important}.geo-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px dashed #cfdac9;border-radius:10px}.geo-row .ant-btn{margin-left:auto}.hint{margin-bottom:12px}.checklist{display:grid;gap:10px;margin-bottom:12px}.check-section{display:flex;align-items:center;gap:10px;margin-top:8px;font-weight:700;color:var(--green);font-size:16px}.check-section span,.check-no{display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 6px;border-radius:13px;background:var(--green);color:#fff;font-size:13px;font-weight:700}.check-item{border-left:4px solid #d9d9d9;transition:border-color .2s}.check-item.pass{border-left-color:#3f9a14}.check-item.fail{border-left-color:#d4380d}.check-item.na{border-left-color:#bfbfbf}.check-item.has-error{border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f26}.check-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.check-text{flex:1;font-weight:500;line-height:1.5}.check-error{color:#ff4d4f;margin-top:8px;font-size:13px}.check-note{margin-top:10px}.result-group{display:grid!important;grid-template-columns:repeat(3,1fr);width:100%}.result-group .ant-radio-button-wrapper{text-align:center;height:44px;line-height:42px;font-weight:600}.result-group .r-pass.ant-radio-button-wrapper-checked{background:#3f9a14!important;border-color:#3f9a14!important}.result-group .r-fail.ant-radio-button-wrapper-checked{background:#d4380d!important;border-color:#d4380d!important}.result-group .r-na.ant-radio-button-wrapper-checked{background:#8c8c8c!important;border-color:#8c8c8c!important}.detail-photos{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.detail-photos img{object-fit:cover;border-radius:6px}.submit-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:16px;margin:0 -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid #e3eadf}.submit-progress{flex:1;margin:0!important}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:32px 16px;gap:16px}.login-logo{width:100%;max-width:300px}.login-card{width:100%;max-width:400px}.login-card h1{margin:0;color:var(--green);font-size:24px}.login-card .muted{margin:4px 0 20px}@media (max-width: 575px){.app-content{padding:12px}.submit-bar{margin:0 -12px;padding-left:12px;padding-right:12px}.header-logo{height:28px}}.fix-finding{color:#d4380d;margin-bottom:4px}.seg-scroll{overflow-x:auto;margin-bottom:12px;padding-bottom:2px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:10px}.photo-tile,.photo-add{aspect-ratio:1;border-radius:10px}.photo-tile{position:relative;overflow:hidden;background:#eef2ea}.photo-tile .ant-image{display:block;height:100%}.photo-tile img{object-fit:cover}.photo-busy{display:grid;place-items:center}.photo-del{position:absolute;top:4px;right:4px;z-index:2;width:28px;height:28px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:#0000009e;color:#fff;font-size:12px}.photo-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px;cursor:pointer;font:inherit;line-height:1.25;background:#f7faf5;color:var(--green);border:1.5px dashed #a9c29a}.photo-add:hover,.photo-add:focus-visible{background:#eef7e3;border-color:var(--green)}.photo-add .anticon{font-size:22px}.photo-add span:not(.anticon){font-size:12px;font-weight:600;text-align:center}.photo-add small{font-size:11px;color:var(--muted)}.fix-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.fix-slot{min-width:0;padding:8px;border-radius:10px}.fix-slot.before{background:#fff7ef}.fix-slot.after{background:#f1f8e8}.fix-slot-head{display:flex;align-items:center;justify-content:space-between;font-weight:700}.fix-slot.before .fix-slot-head{color:#ad4e00}.fix-slot.after .fix-slot-head{color:var(--green)}.fix-slot-head small{font-weight:500;opacity:.75}.fix-slot .photo-grid{margin-top:6px;gap:6px;grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.fix-slot .photo-del{width:24px;height:24px;font-size:11px}.fix-slot .anticon-check-circle{color:#3f9a14}.ba{margin-top:10px;color:#000000d9}.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ba-side{min-width:0}.ba-main{position:relative;aspect-ratio:4 / 3;border-radius:10px;overflow:hidden;background:#eef2ea}.ba-main .ant-image{display:block;height:100%}.ba-main img{object-fit:cover}.ba-badge,.ba-count{position:absolute;z-index:2;pointer-events:none;color:#fff;font-weight:700}.ba-badge{top:6px;left:6px;padding:1px 8px;border-radius:6px;font-size:12px}.ba-side.before .ba-badge{background:#ad4e00}.ba-side.after .ba-badge{background:var(--green)}.ba-count{right:6px;bottom:6px;padding:0 6px;border-radius:6px;font-size:11px;background:#0000009e}.ba-empty{height:100%;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-size:12px}.ba-strip{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ba-strip img{object-fit:cover;border-radius:6px}.ba-note{margin-top:6px}.ba-meta{font-size:12px;color:var(--muted)}
