:root{font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;color:#17352f;background:#e9eeeb;font-synthesis:none;--forest:#12352f;--mint:#d9f16f;--cream:#f6f4ed;--line:#d8dfda;--muted:#71827c;--white:#fff;--orange:#f6bd65}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 30% -10%,#fff 0,#eef3ef 35%,#dfe7e2 100%);-webkit-tap-highlight-color:transparent}button,textarea{font:inherit}.app-shell{width:min(100%,480px);min-height:100dvh;margin:auto;background:var(--cream);position:relative;box-shadow:0 0 50px #1c3a3022;overflow:hidden}.topbar{padding:calc(24px + env(safe-area-inset-top)) 22px 16px;display:flex;justify-content:space-between;align-items:center}.eyebrow,.section-kicker{margin:0 0 5px;color:#7a8984;font-size:12px;font-weight:800;letter-spacing:.08em}.topbar h1{font-size:24px;margin:0;letter-spacing:-.04em}.icon-button{border:0;background:#e7ece9;border-radius:999px;color:#49605a;padding:9px 11px;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800}.sync-dot{width:7px;height:7px;border-radius:50%;background:#62b480;box-shadow:0 0 0 3px #62b48022}.hero-card{margin:4px 16px 20px;padding:20px;border-radius:24px;background:var(--forest);color:#fff;box-shadow:0 16px 30px #163c3028;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-75px;top:-90px;background:#d9f16f18;border:28px solid #ffffff08}.hero-topline,.hero-meta{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.status-pill{display:flex;align-items:center;gap:6px;background:#fff1;border:1px solid #fff2;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:700}.status-pill span{width:7px;height:7px;border-radius:50%;background:var(--mint)}.task-count{font-size:12px;color:#b7c9c3}.site-code{margin:24px 0 4px;color:var(--mint);font-size:12px;font-weight:900;letter-spacing:.12em}.hero-card h2{font-size:26px;margin:0 0 7px;letter-spacing:-.04em}.address{margin:0 0 20px;color:#cbd6d2;font-size:13px}.hero-meta{border-top:1px solid #fff2;padding-top:14px;color:#9eb1aa;font-size:11px}.text-button{position:relative;z-index:2;border:0;color:var(--mint);background:none;font-weight:800;padding:6px}.progress-section,.inspection-section{padding:0 20px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2{font-size:19px;margin:0;letter-spacing:-.03em}.section-heading strong{font-size:23px}.progress-track{height:7px;background:#dde3df;border-radius:99px;margin-top:13px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--forest);border-radius:inherit;transition:width .35s ease}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px}.quick-card{border:1px solid #e2e5e0;background:#fff;border-radius:18px;padding:13px 11px;display:grid;grid-template-columns:38px 1fr 10px;gap:9px;align-items:center;text-align:left;box-shadow:0 5px 18px #2543370a}.quick-icon{height:38px;width:38px;display:grid;place-items:center;border-radius:12px;font-size:12px;font-weight:900}.amber{background:#fff0cf;color:#9b6421}.blue{background:#dcedfa;color:#286687}.quick-card small{display:block;color:#83918d;font-size:10px;margin-bottom:3px}.quick-card strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{font-size:22px;color:#99a69f}.section-heading.compact{align-items:center;margin:2px 0 12px}.hint{font-size:11px;color:#87948f}.inspection-list{display:flex;flex-direction:column;gap:9px}.inspection-item{width:100%;border:1px solid #e0e4df;background:#fff;border-radius:17px;padding:13px 14px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;text-align:left;transition:.18s ease}.inspection-item:active{transform:scale(.985)}.inspection-number{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#eff2ee;font-weight:900;color:#698078}.inspection-copy small{display:block;color:#8b9994;font-size:10px;margin-top:3px}.inspection-copy strong{font-size:14px}.inspection-state{color:#82908b;font-size:12px;font-weight:800}.inspection-item.done{border-color:#c2d794;background:#fbfff1}.inspection-item.done .inspection-number{background:var(--mint);color:#17352f}.inspection-item.done .inspection-state{color:#456323}.note-card{margin:18px 20px 0;padding:16px;background:#fff;border:1px solid #e0e4df;border-radius:18px}.note-card label{font-size:13px;font-weight:900}.note-card textarea{width:100%;resize:none;border:0;outline:0;padding:11px 0;color:#243c36;background:transparent}.note-card textarea::placeholder{color:#a4afab}.note-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0ed;padding-top:11px;color:#9aa6a1;font-size:10px}.ghost-button{border:0;background:#edf2ef;color:#3b5b51;padding:8px 10px;border-radius:10px;font-size:11px;font-weight:800}.bottom-spacer{height:105px}.bottom-bar{position:fixed;z-index:10;bottom:0;width:min(100%,480px);padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#f6f4edee;backdrop-filter:blur(16px);display:grid;grid-template-columns:1fr 1.45fr;gap:10px;border-top:1px solid #dde2de}.bottom-bar button{height:53px;border-radius:17px;font-weight:900;border:0}.save-button{background:#e3e7e3;color:#3f554e}.primary-button{background:var(--forest);color:white;box-shadow:0 9px 20px #12352f38}.primary-button span{color:var(--mint);margin-left:5px}.primary-button:disabled{background:#c9ceca;box-shadow:none}.sheet-backdrop{position:fixed;z-index:20;inset:0;background:#102b2488;backdrop-filter:blur(2px)}.bottom-sheet{position:fixed;z-index:21;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);max-height:82dvh;overflow:auto;background:#fff;border-radius:26px 26px 0 0;padding:8px 20px calc(25px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px #0d291f33}.sheet-handle{width:40px;height:5px;border-radius:99px;background:#d9dedb;margin:2px auto 20px}.sheet-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sheet-title h2{margin:0;font-size:22px}.sheet-close{border:0;background:#eef1ef;border-radius:50%;width:36px;height:36px;font-size:20px}.option-list{display:flex;flex-direction:column;gap:9px}.option{border:1px solid #e0e5e1;background:#fff;border-radius:15px;padding:14px;display:flex;align-items:center;gap:12px;text-align:left}.option-code{font-size:10px;font-weight:900;background:#edf1ee;border-radius:8px;padding:6px;color:#688079}.option.selected{border-color:#9bae5f;background:#f9fee9}.option.selected:after{content:"✓";margin-left:auto;font-weight:900;color:#37561d}.sheet-confirm{position:sticky;bottom:0;margin-top:16px;width:100%;height:52px;border:0;border-radius:16px;background:var(--forest);color:#fff;font-weight:900}.toast{position:fixed;z-index:30;bottom:94px;left:50%;transform:translate(-50%,20px);background:#17352f;color:#fff;padding:11px 16px;border-radius:12px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){body{padding:24px 0}.app-shell{min-height:calc(100dvh - 48px);border-radius:28px}.bottom-bar{bottom:24px;border-radius:0 0 28px 28px}.bottom-sheet{bottom:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.region-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}.region-tab{border:0;border-radius:12px;background:#edf1ee;color:#667a73;padding:10px 3px;font-size:12px;font-weight:900}.region-tab.active{background:var(--forest);color:var(--mint)}.site-search{width:100%;height:48px;border:1px solid #dce2de;border-radius:14px;background:#f7f9f7;padding:0 14px;outline:0;margin-bottom:12px}.site-results{display:flex;flex-direction:column;gap:8px}.site-option{border:1px solid #e1e5e2;background:#fff;border-radius:15px;padding:13px;text-align:left}.site-option strong{display:block;font-size:13px}.site-option small{display:block;color:#87948f;font-size:10px;margin-top:4px}.site-empty{padding:30px 10px;text-align:center;color:#83918c;font-size:13px}.result-note{margin:10px 0 0;text-align:center;color:#89958f;font-size:10px}
.locked-card{cursor:default}.lock-mark{font-size:10px;color:#84928d;background:#edf1ee;border-radius:8px;padding:5px}.meter-input input{width:120px;font-size:17px}.meter-input input::placeholder{font-size:12px;color:#9aa6a1}
.inspection-item.partial{border-color:#e3c780;background:#fffaf0}.inspection-item.partial .inspection-number{background:#fff0cf;color:#91601e}.inv-list{display:flex;flex-direction:column;gap:12px}.inv-item{border:1px solid #dfe4e0;border-radius:17px;padding:14px;background:#fbfcfa}.inv-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px}.inv-field{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:8px;margin-top:8px}.inv-field>span{font-size:11px;font-weight:800;color:#778780}.segment{display:grid;grid-template-columns:1fr 1fr;gap:5px}.segment.result{grid-template-columns:repeat(3,1fr)}.segment button{border:0;border-radius:10px;background:#edf1ee;color:#63766f;padding:9px 4px;font-size:11px;font-weight:800}.segment button.active{background:var(--forest);color:#fff}.segment.result button[data-result="正常"].active{background:#487a55}.segment.result button[data-result="異常"].active{background:#a94e42}.inv-item textarea{width:100%;margin-top:10px;border:1px solid #dce2de;border-radius:11px;padding:9px;resize:none;outline:0;background:#fff;font-size:12px}
.green{background:#e4f0d4;color:#537026}.violet{background:#ece7f8;color:#66518e}.meter-card,.photo-card{margin:0 20px 20px;padding:16px;background:#fff;border:1px solid #e0e4df;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.meter-card label,.photo-card strong{display:block;font-size:14px;font-weight:900}.meter-input{display:flex;align-items:center;gap:5px;background:#f0f3f0;border-radius:14px;padding:5px 10px}.meter-input input{width:92px;border:0;background:transparent;text-align:right;outline:0;font-size:22px;font-weight:900;color:var(--forest)}.meter-input span{font-size:11px;color:#84938e}.photo-card small{display:block;margin-top:4px;color:#8c9995;font-size:10px}.sheet-note{margin-top:16px}.sheet-note label{display:block;margin-bottom:7px;font-size:12px;font-weight:900}.sheet-note textarea{width:100%;border:1px solid #dce2de;border-radius:14px;padding:12px;resize:none;outline:0;background:#f7f8f6}.date-input{width:100%;height:54px;border:1px solid #dce2de;border-radius:15px;padding:0 14px;background:#f8faf8;color:var(--forest);font-weight:800}.multi-tip{font-size:11px;color:#87948f;margin:-8px 0 13px}.inspection-copy small{max-width:225px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
