@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap";:root{font-family:Noto Sans JP,system-ui,sans-serif;color:#17201d;background:#f3f4ef;font-synthesis:none;--green: #16352c;--green-2: #245a49;--lime: #d8ed76;--paper: #fff;--line: #d9ddd7;--muted: #68736e;--danger: #b44737}.header-session{display:flex;align-items:center;gap:.75rem}.session-user{color:#e4e7ec;font-size:.85rem}.logout-button{border:1px solid #d0d5dd;border-radius:.5rem;background:#fff;padding:.45rem .7rem}.reporter{color:#667085;font-size:.8rem}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:#f2f4f7}.auth-card{width:min(100%,28rem);display:grid;gap:1rem;padding:2rem;border-radius:1rem;background:#fff;box-shadow:0 1rem 3rem #1018281f}.auth-card label{display:grid;gap:.4rem;font-weight:700}.auth-card input{width:100%;padding:.75rem;border:1px solid #d0d5dd;border-radius:.5rem}.auth-brand{display:flex;align-items:center;gap:.75rem}.auth-brand div{display:grid}.auth-error{color:#b42318}@media(max-width:640px){.session-user{display:none}.header-session{gap:.4rem}}.admin-page{min-height:100vh;padding:2rem;background:#f2f4f7}.admin-header{display:flex;justify-content:space-between;align-items:start;max-width:80rem;margin:0 auto 1.5rem}.admin-columns{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.2fr);gap:1rem;max-width:80rem;margin:auto}.admin-section{padding:1.5rem;border-radius:1rem;background:#fff}.admin-section form{display:grid;gap:.75rem;margin-bottom:1rem}.admin-section label{display:grid;gap:.3rem}.admin-section input{padding:.65rem;border:1px solid #d0d5dd;border-radius:.45rem}.admin-list{display:grid;gap:.65rem;padding:0;list-style:none}.admin-list li{display:flex;justify-content:space-between;gap:.5rem;padding:.75rem;border:1px solid #eaecf0;border-radius:.6rem}.admin-list li.selected{border-color:#f79009;background:#fffaeb}.admin-list li>div,.admin-select{display:grid;gap:.2rem}.admin-list li>div:last-child{display:flex;flex-wrap:wrap;justify-content:end}.admin-list button{padding:.35rem .5rem}.admin-select{flex:1;border:0;background:transparent;text-align:left}@media(max-width:800px){.admin-columns{grid-template-columns:1fr}.admin-page{padding:1rem}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8dad35;outline-offset:2px}.app-header{height:70px;padding:0 max(20px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 3px 16px #0b211a33}.brand{display:flex;gap:11px;align-items:center;color:inherit;border:0;background:transparent;padding:0;text-align:left}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:var(--green);background:var(--lime);font-weight:800;border-radius:4px;transform:rotate(-2deg)}.brand strong,.brand small{display:block}.brand strong{font-size:20px;letter-spacing:.06em;line-height:1.1}.brand small{font-size:10px;opacity:.72;margin-top:3px}.network{font-size:12px;font-weight:700;padding:7px 10px;border:1px solid #ffffff30;border-radius:20px}.network.online{color:#dff28a}.network.offline{color:#ffcf87}.list-page{min-height:calc(100vh - 70px)}.hero{min-height:320px;padding:52px max(20px,calc((100vw - 1120px)/2));display:flex;align-items:end;justify-content:space-between;gap:32px;color:#fff;background:var(--green);position:relative;overflow:hidden}.hero:after{content:"GENPO";position:absolute;right:-22px;top:5px;font-size:clamp(90px,16vw,220px);font-weight:800;line-height:1;color:#fff;opacity:.035;letter-spacing:-.08em}.eyebrow{margin:0 0 12px;color:#829087;font-size:11px;font-weight:800;letter-spacing:.18em}.hero .eyebrow{color:var(--lime)}.hero h1{margin:0;font-size:clamp(31px,6vw,52px);letter-spacing:-.05em;line-height:1.28}.hero p:last-child{margin:17px 0 0;color:#bdc8c3;font-size:14px}.primary,.secondary{min-height:50px;border:0;border-radius:4px;padding:0 22px;font-weight:800}.primary{color:var(--green);background:var(--lime);box-shadow:0 5px 18px #0a1b1633}.primary:disabled{opacity:.55;cursor:wait}.secondary{color:#fff;background:var(--green)}.hero-action{min-width:180px;position:relative;z-index:1}.hero-action span{font-size:22px;margin-right:7px}.list-section{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:42px 0 80px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-heading h2{margin:0;font-size:25px}.section-heading>span{color:var(--muted);font-size:13px}.sync-actions{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}.sync-button{min-height:42px;padding:0 16px}.sync-button:disabled{opacity:.6;cursor:wait}.sync-message{margin:-8px 0 18px;color:var(--green-2);font-size:13px;font-weight:700}.empty,.empty-card{text-align:center;color:var(--muted)}.empty-card{padding:60px 20px;border:1px dashed #bbc3bb;background:#f8f9f5}.empty-card h3{color:#26332e;margin:18px 0 6px}.empty-card p{max-width:420px;margin:0 auto 24px;font-size:14px}.empty-icon{display:grid;place-items:center;width:58px;height:58px;margin:auto;color:var(--green);background:var(--lime);font-size:22px;font-weight:800;border-radius:50%}.report-grid{display:grid;gap:12px}.report-card{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green-2);box-shadow:0 4px 16px #1d332a0a}.report-card.deletion-pending{border-left-color:var(--danger);background:#fbf5f3}.report-main{flex:1;border:0;background:transparent;display:flex;align-items:center;padding:19px;text-align:left;min-width:0}.report-main:disabled{color:inherit;cursor:default;opacity:.72}.report-date{width:52px;flex:none;text-align:center;padding-right:16px;border-right:1px solid var(--line)}.report-date strong,.report-date span{display:block}.report-date strong{font-size:24px;line-height:1.1}.report-date span{font-size:11px;color:var(--muted)}.report-copy{padding-left:18px;min-width:0}.report-copy h3{margin:0 0 3px;font-size:17px}.report-copy p{margin:0;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-meta{display:flex;gap:12px;margin-top:10px;color:#849089;font-size:10px}.sync-dot{color:#347b55;font-weight:700}.sync-dot.draft{color:#6d7772}.sync-dot.pending,.sync-dot.sending{color:#8a6818}.sync-dot.failed{color:var(--danger)}.report-copy .sync-error{margin:7px 0 0;color:var(--danger);font-size:11px;white-space:normal}.chevron{margin-left:auto;color:#8d9892;font-size:28px}.delete-link{border:0;border-left:1px solid var(--line);background:#fff;color:var(--danger);padding:0 17px;font-size:12px}.delete-link:disabled{background:#fbf5f3;cursor:default;font-weight:700}.editor-page{width:min(900px,calc(100% - 32px));margin:0 auto;padding-bottom:120px}.editor-top{min-height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:70px;z-index:15;background:#f3f4eff2;border-bottom:1px solid var(--line);box-shadow:0 5px 14px #1d332a0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.back{border:0;color:var(--green-2);background:transparent;padding:10px 0;font-weight:700}.save-status{text-align:right;color:var(--muted)}.save-status span,.save-status small{display:block}.save-status span{font-size:12px;font-weight:700}.save-status small{font-size:10px;margin-top:2px}.save-status.dirty span,.save-status.error span{color:var(--danger)}.save-status.saved span{color:#36775a}.editor-title{padding:25px 0 30px}.editor-title h1{margin:0;font-size:clamp(30px,7vw,46px);letter-spacing:-.05em}.editor-title>p:last-child{color:var(--muted);font-size:13px}.form-section{margin-bottom:20px;padding:28px;background:var(--paper);border:1px solid var(--line);box-shadow:0 6px 24px #1d332a0a}.form-heading{display:flex;gap:14px;align-items:center;margin-bottom:25px}.form-heading>span{display:grid;place-items:center;width:38px;height:38px;flex:none;color:var(--green);background:var(--lime);font-size:12px;font-weight:800}.form-heading h2,.form-heading p{margin:0}.form-heading h2{font-size:19px}.form-heading p{color:var(--muted);font-size:11px;margin-top:3px}.all-normal{margin-left:auto;border:1px solid #aabb91;background:#f8faef;color:#385534;min-height:40px;padding:0 13px;font-size:12px;font-weight:700;border-radius:3px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#34423d}label em{color:var(--danger);font-size:10px;font-style:normal;margin-left:4px}.master-field{display:grid;gap:8px}.field-label{min-height:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label label{display:block}.field-label button{border:0;background:transparent;color:var(--green-2);padding:2px 0;font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:3px}input,select,textarea{width:100%;color:#17201d;background:#fbfcf9;border:1px solid #cbd2cb;border-radius:3px}input,select{height:50px;padding:0 13px}textarea{padding:12px;resize:vertical}.unit-input{position:relative}.unit-input input{padding-right:55px}.unit-input span{position:absolute;right:14px;top:16px;color:var(--muted);font-size:12px;font-weight:500}.inspection-list{border-top:1px solid var(--line)}.inspection-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.inspection-row.disabled{opacity:.55}.inspection-label{display:flex;align-items:center;gap:11px;font-size:13px}.inspection-label>span{color:#9da69f;font:700 10px ui-monospace,monospace}.inspection-label small{color:var(--muted);font-size:9px}.result-picker{display:flex;flex:none;border:1px solid #cbd2cb;border-radius:3px;overflow:hidden}.result-picker button{min-height:36px;padding:0 10px;border:0;border-right:1px solid #d9ddd7;background:#fff;color:#657069;font-size:10px;font-weight:700}.result-picker button:last-child{border:0}.result-picker button.active.normal{color:#fff;background:#327054}.result-picker button.active.abnormal{color:#fff;background:var(--danger)}.result-picker button.active.not_applicable{color:#fff;background:#6d7772}.textarea-label{margin-top:22px}.photo-picker{min-height:145px;border:1px dashed #9ba79f;background:#f8faf5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;cursor:pointer;padding:20px}.photo-picker input{position:absolute;opacity:0;width:1px;height:1px}.photo-picker .camera{display:grid;place-items:center;width:42px;height:42px;margin-bottom:8px;border-radius:50%;background:var(--green);color:var(--lime);font-size:24px;font-weight:400}.photo-picker small{color:var(--muted);font-size:10px;margin-top:5px;font-weight:400}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.photo{position:relative;aspect-ratio:1;overflow:hidden;background:#e5e8e3}.photo img{width:100%;height:100%;object-fit:cover}.photo button{position:absolute;right:6px;top:6px;width:30px;height:30px;border:0;border-radius:50%;color:#fff;background:#18251fd9;font-size:20px;line-height:1}.save-bar{position:fixed;z-index:10;left:0;right:0;bottom:0;min-height:82px;padding:12px max(20px,calc((100vw - 900px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;background:#122b23f5;box-shadow:0 -5px 24px #0c181444;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.save-bar strong,.save-bar small{display:block}.save-bar strong{font-size:13px}.save-bar small{margin-top:4px;color:#a9b7b0;font-size:10px}.save-bar .primary{min-width:165px}.loading-page{padding:60px 20px;text-align:center;color:var(--muted)}.master-page{width:min(720px,calc(100% - 32px));margin:0 auto;padding-bottom:60px}.master-section{margin-bottom:0}.master-add-form>label{margin-bottom:8px}.master-add-form>div{display:flex;gap:10px}.master-add-form .primary{min-width:100px}.master-error{margin:14px 0 0;color:var(--danger);font-size:12px;font-weight:700}.master-list-heading{display:flex;align-items:center;justify-content:space-between;margin-top:30px;padding-bottom:12px;border-bottom:1px solid var(--line)}.master-list-heading h2{margin:0;font-size:17px}.master-list-heading span{color:var(--muted);font-size:12px}.master-list{list-style:none;margin:0;padding:0}.master-list li{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.master-list li>span{overflow-wrap:anywhere;font-size:14px;font-weight:600}.master-list li>div{display:flex;align-items:center}.master-list button{flex:none;border:0;background:transparent;color:var(--danger);padding:10px 0 10px 16px;font-size:12px;font-weight:700}.master-list button.rename-link{color:var(--muted)}@media(max-width:680px){.app-header{height:62px;padding:0 16px}.brand strong{font-size:17px}.brand-mark{width:34px;height:34px}.hero{min-height:315px;padding:38px 20px;display:block}.hero-action{margin-top:27px;width:100%}.list-section{width:calc(100% - 28px);padding-top:30px}.section-heading{align-items:flex-start}.sync-actions{align-items:flex-end;flex-direction:column;gap:7px}.report-main{padding:15px 12px}.report-meta{gap:7px;flex-wrap:wrap}.delete-link{padding:0 12px}.editor-page{width:calc(100% - 20px)}.editor-top{top:62px}.editor-title{padding:18px 4px 23px}.form-section{padding:20px 16px;margin-bottom:10px}.field-grid{grid-template-columns:1fr;gap:18px}.master-page{width:calc(100% - 20px)}.master-add-form>div{align-items:stretch;flex-direction:column}.master-add-form .primary{min-height:48px}.form-heading{align-items:flex-start}.all-normal{margin-left:auto;max-width:120px}.inspection-row{align-items:stretch;flex-direction:column;gap:11px}.result-picker{width:100%}.result-picker button{flex:1;min-height:43px}.photo-grid{grid-template-columns:repeat(3,1fr)}.save-bar{min-height:75px;padding:10px 14px}.save-bar .primary{min-width:140px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
