:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#202727;background:#f5f7f7;font-size:14px;line-height:1.5;letter-spacing:0;--green:#166858;--line:#dce3e1}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:5px;min-height:38px;padding:7px 14px;background:white;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.95)}button:focus-visible,a:focus-visible{outline:3px solid #3988c3;outline-offset:2px}input,select{width:100%;height:38px;border:1px solid #b9c7c2;border-radius:4px;background:white;padding:6px 9px;color:inherit}input:focus,select:focus{outline:2px solid #247b6a;outline-offset:1px}input:disabled{background:#edf0ef;color:#697873}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);flex-shrink:0}label{display:block;font-size:12px;color:#4d5b57}.check{display:flex;align-items:center;gap:7px;font-size:13px;margin-top:8px;color:#303d38}
.app-header{height:62px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-size:17px}.brand-mark{display:grid;place-items:center;background:#166858;color:white;width:28px;height:28px;font-size:26px;font-weight:600;border-radius:5px}.sandbox{font-size:12px;color:#805821;background:#fff3d5;padding:4px 9px;border-radius:4px}.workspace{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:calc(100vh - 62px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:26px 15px}.sidebar h2{font-size:14px;margin:0 10px 15px}.nav-button{display:block;width:100%;text-align:left;border:0;margin-bottom:5px;background:transparent;font-size:13px}.nav-button.active{background:#e3f0eb;color:#166858;font-weight:650}.nav-button span{float:right}.side-label{font-size:11px;color:#78857f;margin:28px 10px 9px}.section-link{display:block;text-decoration:none;color:#53615b;padding:7px 10px;font-size:12px;border-left:2px solid #dae7e1;overflow-wrap:anywhere}.section-link:hover{color:var(--green);background:#f0f6f3}.draft-button{width:100%;text-align:left;font-size:12px;margin:3px 0}main{min-width:0;padding:28px 34px 0;max-width:1450px;width:100%;margin:auto}h1{font-size:25px;margin:0;font-weight:650}h2{font-size:17px}.eyebrow{font-size:11px;color:#6b7a73;margin:0 0 4px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.primary{background:var(--green);color:white;border-color:var(--green)}.secondary{background:white}.quiet{border:none;background:transparent;color:var(--green);font-size:12px}.metadata{display:grid;grid-template-columns:1fr 1.3fr 1.2fr 1fr .6fr 1fr;gap:14px;padding:16px 0 18px;border-top:1px solid var(--line)}.metadata label>input,.metadata label>select{margin-top:5px}.metadata .check{margin-top:5px}.context-strip{background:#e8eeeb;color:#334c41;padding:10px 14px;font-size:13px;overflow-wrap:anywhere;border-left:3px solid var(--green)}.entry-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0}.muted{color:#77867e}.progress-number{font-size:16px;font-weight:650;color:#243e32}table{width:100%;border-collapse:collapse;table-layout:fixed;background:white}th{text-align:left;font-size:11px;font-weight:600;color:#65766d;background:#edf2ef;padding:9px 12px}td{padding:8px 12px;border-bottom:1px solid #e5eae7;vertical-align:middle}.name-col{width:25%}.value-col{width:33%}.unit-col{width:13%}.reference-col{width:17%}.g-col{width:12%}.section-heading th{font-size:14px;color:#244539;padding:14px 12px;background:#dfeae4}.item-name{font-weight:550;font-size:13px;overflow-wrap:anywhere}.item-id{font-size:10px;color:#95a099;display:block}.result-field{display:flex;gap:6px;align-items:center}.result-field input{min-width:0;flex:1}.status-select{width:86px;flex-shrink:0;font-size:12px;padding:5px}.unit,.reference{font-size:12px;color:#5c6d63;overflow-wrap:anywhere}.g-input{font-size:12px}tr:focus-within{background:#eef8f2}tr.invalid{background:#fff3ee}.error-text{font-size:11px;color:#a03b30;margin-top:4px}.actions{position:sticky;bottom:0;z-index:2;background:#fffffff5;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;margin-top:20px;backdrop-filter:blur(8px)}.actions>div{display:flex;gap:10px}.actions>span{font-size:12px;color:#607169}.notice,.notice-error{padding:10px 14px;margin:0 0 12px;background:#e6f1ea;border-left:3px solid var(--green);font-size:13px}.notice-error{background:#fff0eb;border-color:#b44739;color:#87382b}.review-summary{padding:16px 0}.review-controls{display:flex;justify-content:space-between;gap:12px;margin:22px 0}.result-value{font-variant-numeric:tabular-nums;font-weight:650}.high{color:#aa372e;background:#fff0eb}.low{color:#246eb0;background:#edf5ff}.within{color:#245d47}.flag{font-size:11px;margin-left:8px;font-weight:500}.empty-state{padding:50px 20px;text-align:center;color:#75867c;border-top:1px solid var(--line)}.record-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:16px 0;gap:12px}.record-row small{display:block;color:#75867c}.record-buttons{display:flex;gap:8px}.record-detail-title{margin:24px 0 12px}dialog{border:1px solid var(--line);border-radius:7px;max-width:430px;width:calc(100% - 32px);padding:24px;color:#263e32}dialog::backdrop{background:#182a2560}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}[hidden]{display:none!important}
@media(max-width:1000px){.workspace{grid-template-columns:160px minmax(0,1fr)}main{padding:24px 20px 0}.metadata{grid-template-columns:repeat(3,minmax(0,1fr))}td,th{padding:8px}.name-col{width:23%}.value-col{width:38%}.g-col{width:13%}.reference-col{width:14%}.unit-col{width:12%}.status-select{width:74px}}
@media(max-width:650px){.app-header{padding:0 14px;height:58px}.brand{font-size:14px}.sandbox{font-size:10px}.workspace{display:block}.sidebar{padding:8px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar h2,.side-label,#section-nav{display:none}.sidebar>nav{display:flex;gap:4px}.nav-button{margin:0;width:auto;flex:1}.draft-button{width:auto;margin:4px}.sidebar #drafts:empty{display:none}main{padding:20px 12px 0}h1{font-size:21px}.page-title{align-items:flex-start}.page-title button{font-size:11px;padding:7px 9px}.metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.entry-toolbar{align-items:flex-start}.entry-toolbar button{max-width:150px;text-align:right;min-height:32px;padding:3px;font-size:11px}table,tbody{display:block}thead{display:none}.section-heading{display:block}.section-heading th{display:block}tr.item-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;padding:10px 8px;border-bottom:1px solid var(--line);gap:6px 10px}tr.item-row td{display:block;padding:0;border:0}.item-name-cell{grid-column:1/-1;display:flex!important;gap:8px;align-items:center}.item-id{display:inline}.value-cell{grid-column:1}.g-cell{grid-column:2;grid-row:2}.unit-cell{grid-column:1;grid-row:3}.reference-cell{grid-column:2;grid-row:3}.status-select{width:84px}.unit-cell:before{content:'単位 ';color:#8a978e}.reference-cell:before{content:'基準 ';color:#8a978e}.actions{gap:8px;padding:12px 0}.actions>div{gap:6px}.actions button{font-size:12px;padding:8px 10px}.actions>span{max-width:135px;font-size:11px}.review-controls{display:block}.record-row{align-items:flex-start}.record-buttons{flex-direction:column}.review-table tr.item-row{grid-template-columns:minmax(0,1fr) 78px}.review-table .value-cell{font-size:16px}}
.item-id { display: none !important; }
.file-tools { background: #eef2fc; border-color: #a7b7d8; color: #344d83; }
.draft-files { width: calc(100% - 32px); max-width: 620px; max-height: 85dvh; overflow-y: auto; background: #f1f4fc; color: #263657; border-color: #9daecf; border-top: 5px solid #496491; }
.draft-files .page-title { position: sticky; top: -24px; background: #f1f4fc; padding: 12px 0; z-index: 1; }
.draft-files h2 { margin: 0; }
.draft-files label { margin: 12px 0 6px; color: #455579; }
.draft-files p { font-size: 13px; }
.draft-files section { border-top: 1px solid #bcc9e0; margin-top: 16px; padding-top: 8px; }
@media (max-width:650px) { .actions { flex-wrap: wrap; } .actions>div { flex-wrap: wrap; width: 100%; } .actions>div button { flex: 1; } .draft-files { padding: 16px; } .draft-files .page-title { top: -16px; } }
.secret-field { display: flex; align-items: center; gap: 8px; }
.secret-field input { flex: 1; min-width: 0; }
.secret-toggle { flex: 0 0 68px; padding: 6px; }
.review-filter { display: flex; gap: 18px; border: 0; padding: 0; margin: 0 0 16px; }
.review-filter legend { font-size: 12px; margin-bottom: 6px; }
.review-filter label { display: flex; align-items: center; gap: 6px; }
.review-filter input { width: 16px; height: 16px; accent-color: var(--green); }
.sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  scrollbar-gutter: stable;
  z-index: 3;
}
@media (max-width: 650px) {
  .sidebar {
    height: auto;
    max-height: 35vh;
    max-height: 35dvh;
  }
  .section-heading { scroll-margin-top: 110px; }
}
#review-view .unentered-row td,
#review-view .unentered-row td * { color: #747c79; }
