:root{color-scheme:light;background:#eef7f4}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:linear-gradient(180deg,#0f766e,#0f766e 172px,#eef7f4 0);color:#17201d;font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}button,input,select,textarea{font:inherit}input,select,textarea{font-size:16px}button{border:0}.app-shell{width:min(1180px,100%);margin:0 auto;padding:18px}.topbar{color:white;display:grid;gap:12px;margin-bottom:18px}.topbar h1{font-size:28px;line-height:1.15;margin:0;letter-spacing:0}.content-grid,.form-grid,.handover-grid,.history-row,.legend,.marker-list,.status-row,.tabs{display:grid;gap:10px}.status-row{grid-template-columns:repeat(4,minmax(0,1fr))}.field,.history-item,.map-cell,.mini-card,.operator-button,.panel,.status-pill,.tab-button{border-radius:8px}.status-pill{background:rgba(255,255,255,.16);color:white;padding:10px 12px;font-size:14px}.tabs{grid-template-columns:repeat(5,1fr);margin-bottom:14px}.tab-button{min-height:48px;background:#d9ede8;color:#16433d;font-weight:800;cursor:pointer}.tab-button.active{background:#ffffff;color:#0f766e}.panel{background:#ffffff;border:1px solid #d5e7e2;padding:16px;box-shadow:0 14px 38px rgba(14,74,67,.08)}.content-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}.handover-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-card{background:#f4faf8;border:1px solid #d8ece6;padding:14px;min-height:92px}.mini-card strong{display:block;font-size:24px;line-height:1.2;margin-top:8px}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:20px}.operator-actions,.operator-button{display:grid;gap:12px}.operator-button{min-height:82px;color:white;grid-template-columns:44px minmax(0,1fr);align-items:center;padding:14px 18px;font-size:24px;font-weight:900;text-align:left;cursor:pointer}.operator-button:disabled{opacity:.62}.operator-button svg{width:34px;height:34px}.start{background:#16a34a}.dug{background:#2563eb}.tomorrow{background:#eab308;color:#1f2937}.danger{background:#dc2626}.refilled{background:#f97316}.end{background:#6b7280}.field{display:grid;gap:6px}.field label{font-weight:800;color:#284843}.field input,.field select,.field textarea{width:100%;border:1px solid #bdd8d1;border-radius:8px;padding:10px 12px;background:white}.field textarea{min-height:76px;resize:vertical}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map{background:#dbe8df;border:1px solid #c7d9d1;border-radius:8px;padding:10px;overflow:hidden}.map,.map-grid{position:relative}.map-grid{display:grid;grid-template-columns:repeat(10,minmax(28px,1fr));gap:4px;z-index:2}.map-cell{aspect-ratio:1;border:1px solid rgba(20,77,68,.18);background:rgba(255,255,255,.62);display:grid;place-items:center;font-weight:900;color:#17201d}.map-with-osm{background:#b7c9bf}.osm-layer{position:absolute;inset:0;z-index:1;overflow:hidden}.osm-layer img{position:absolute;width:256px;height:256px;max-width:none}.map-attribution,.map-offline-label{position:absolute;right:8px;bottom:6px;z-index:3;background:rgba(255,255,255,.86);color:#16433d;border-radius:4px;padding:3px 6px;font-size:11px;text-decoration:none}.map-offline-label{left:8px;right:auto}.cell-dug{background:#93c5fd}.cell-tomorrow{background:#fde68a}.cell-danger{background:#fca5a5}.cell-refilled{background:#fdba74}.cell-current{outline:3px solid #111827}.legend{grid-template-columns:repeat(4,max-content);margin-top:10px;font-size:13px}.swatch{width:18px;height:18px;display:inline-block;border-radius:4px;vertical-align:middle;margin-right:5px}.notice{background:#fffbeb;border:1px solid #fde68a;color:#713f12;border-radius:8px;padding:12px;font-weight:800;margin-bottom:12px}.danger-notice{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.history-item{background:#f8fbfa;border:1px solid #dcebe7;padding:12px;display:grid;gap:4px}.history-row{grid-template-columns:1fr auto;align-items:center}.secondary-button,.small-button{min-height:42px;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer}.small-button{background:#0f766e;color:white}.secondary-button{background:#e2ece9;color:#16433d}.marker-list{margin-top:12px}.muted{color:#5f716d;font-size:14px}.camera-sheet{position:fixed;inset:0;z-index:20;background:rgba(15,37,34,.72);display:grid;place-items:center;padding:18px}.camera-panel,.choice-panel{width:min(720px,100%);background:#ffffff;border-radius:8px;border:1px solid #d5e7e2;padding:14px;display:grid;gap:12px;box-shadow:0 22px 60px rgba(0,0,0,.28)}.choice-panel{width:min(620px,100%)}.choice-actions{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.camera-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.camera-placeholder,.camera-preview{width:100%;aspect-ratio:4/3;border-radius:8px;background:#0f2522}.camera-preview{-o-object-fit:cover;object-fit:cover}.camera-placeholder{display:grid;place-items:center;color:white;font-weight:800}.capture-button{width:100%}@media (max-width:860px){body{background:linear-gradient(180deg,#0f766e,#0f766e 304px,#eef7f4 0)}.app-shell{padding:12px}.content-grid,.form-grid,.handover-grid,.status-row{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(3,1fr)}.operator-button{min-height:76px;font-size:21px}.choice-actions{grid-template-columns:1fr}}@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top)}}