:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#193042;background:#eef3f6}*{box-sizing:border-box}body{margin:0}.page{max-width:980px;margin:auto;padding:18px}.header{background:linear-gradient(135deg,#0f6f9f,#174c71);color:#fff;padding:22px;border-radius:14px;margin-bottom:16px}.brand{font-size:.85rem;opacity:.85}.header h1{margin:5px 0}.panel{background:#fff;border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 5px 20px rgba(27,54,75,.08)}.search-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px}.search-grid input{width:100%;padding:12px;border:1px solid #b9c8d1;border-radius:8px;font-size:16px}.btn{display:inline-block;border:0;border-radius:8px;padding:12px 16px;font-weight:700;text-decoration:none;cursor:pointer}.primary{background:#0f6f9f;color:#fff}.secondary{background:#e8f1f6;color:#174c71}.disabled{background:#c7d0d6;color:#687780;pointer-events:none}.case-list,.equipment-list{display:grid;gap:12px}.card{border:1px solid #d7e1e7;border-radius:12px;padding:15px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.case-no,.equipment-id{font-weight:800;color:#0f6f9f}.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.meta div{background:#f6f9fb;border-radius:8px;padding:9px}.meta small{display:block;color:#637786}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e8f1f6;font-size:.85rem}.badge.progress{background:#fff3cd;color:#795d00}.badge.complete{background:#dff3e5;color:#24683a}.badge.blocked{background:#f7dddd;color:#8b3030}.actions{display:flex;gap:8px;flex-wrap:wrap}.message{padding:14px;border-radius:9px;background:#f3f7fa}.error{background:#fff0f0;color:#8b3030}.back{display:inline-block;margin-bottom:12px;color:#0f6f9f;text-decoration:none}@media(max-width:720px){.search-grid{grid-template-columns:1fr}.meta{grid-template-columns:1fr}.card-head{display:block}.btn{width:100%;text-align:center}.page{padding:10px}.header{border-radius:10px}}

.topnav{display:flex;justify-content:flex-end;gap:16px;margin:0 0 12px}.topnav a{color:#126f9e;font-weight:700;text-decoration:none}.narrow{max-width:560px}.form-stack,.form-grid{display:grid;gap:16px}.form-stack label,.form-grid label{display:grid;gap:7px;font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:1/-1}.form-stack input,.form-grid input,.form-grid select{padding:12px;border:1px solid #b8c9d5;border-radius:8px;font-size:16px}.equipment-table{display:grid;gap:8px;margin-top:14px}.equipment-row{display:grid;grid-template-columns:28px 160px 130px 1fr 150px 90px;gap:10px;align-items:center;padding:12px;border:1px solid #dce6ec;border-radius:8px}.equipment-row.disabled{opacity:.55;background:#f3f5f6}@media(max-width:800px){.form-grid{grid-template-columns:1fr}.equipment-row{grid-template-columns:28px 1fr}.equipment-row span{grid-column:2}.topnav{justify-content:space-between}}
.success{background:#e2f5e8;color:#24683a}.equipment-search{display:grid;grid-template-columns:1fr auto auto;gap:10px}.equipment-search input{width:100%;padding:12px;border:1px solid #b9c8d1;border-radius:8px;font-size:16px}.equipment-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.equipment-main{display:grid;gap:3px}.equipment-row small{display:block;color:#637786}.registered-label{font-weight:700;color:#637786}@media(max-width:800px){.equipment-search{grid-template-columns:1fr}.equipment-toolbar{display:grid}.equipment-row{grid-template-columns:28px 1fr}.equipment-main,.equipment-row>span{grid-column:2}.equipment-toolbar .btn{width:100%}}
.danger{background:#b83b3b;color:#fff}.lock-info{margin:12px 0;padding:14px;border-radius:9px;background:#fff3cd;color:#654f00}

.help{color:#637786;font-size:.9rem}.form-stack select,.form-stack textarea{padding:12px;border:1px solid #b8c9d5;border-radius:8px;font-size:16px;font-family:inherit}.user-table{display:grid;gap:6px}.user-row{display:grid;grid-template-columns:105px 130px 1fr 80px 150px 115px 85px 75px 165px 70px;gap:8px;align-items:center;padding:10px;border-bottom:1px solid #dce6ec}.user-head{font-weight:800;background:#f3f7fa;border-radius:8px}.compact{padding:7px 10px;font-size:.9rem}textarea{width:100%}@media(max-width:900px){.user-head{display:none}.user-row{grid-template-columns:1fr 1fr}.user-row span:nth-child(3),.user-row span:nth-child(5),.user-row span:nth-child(6),.user-row span:nth-child(9),.user-row span:nth-child(10){grid-column:1/-1}}

/* Rev8 - Case progress */
.case-progress-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.case-progress-head small{display:block;color:#637786;margin-bottom:3px}.case-progress-head strong{font-size:1.45rem}.case-progress-head strong span{color:#637786;font-size:.95rem;margin-left:6px}.case-result-counts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.result-pill{display:inline-flex;gap:5px;align-items:center;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:800}.result-pill.pass{background:#dff3e5;color:#24683a}.result-pill.caution{background:#fff3cd;color:#795d00}.result-pill.fail{background:#f7dddd;color:#8b3030}.case-progress-track{height:11px;background:#e3ebf0;border-radius:999px;overflow:hidden;margin:14px 0 0}.case-progress-bar{height:100%;background:#0f6f9f;border-radius:999px}.all-complete-callout{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:16px;padding:16px;border:1px solid #b9dfc4;background:#eefaf2;border-radius:10px}.all-complete-callout strong{display:block;color:#24683a}.all-complete-callout p{margin:5px 0 0;color:#4b6654}@media(max-width:720px){.case-progress-head,.all-complete-callout{display:block}.case-result-counts{justify-content:flex-start;margin-top:10px}.all-complete-callout .btn{margin-top:12px}}


/* Rev8.1 - Search list inspection progress */
.list-progress{
  margin:12px 0 14px;
  padding:11px 12px;
  border-radius:9px;
  background:#f8fafb;
  border:1px solid #e0e9ee;
}
.list-progress-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  font-size:.84rem;
  color:#637786;
}
.list-progress-head strong{
  color:#193042;
  white-space:nowrap;
}
.list-progress-head strong b{
  margin-left:5px;
  color:#637786;
  font-size:.8rem;
}
.list-progress-track{
  height:8px;
  background:#dfe8ed;
  border-radius:999px;
  overflow:hidden;
  margin-top:8px;
}
.list-progress-track i{
  display:block;
  height:100%;
  background:#1693c7;
  border-radius:999px;
}
.list-result-mini{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:8px;
}
.list-result-mini span{
  display:inline-block;
  padding:3px 7px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
}
.list-result-mini .pass{background:#dff3e5;color:#24683a}
.list-result-mini .caution{background:#fff3cd;color:#795d00}
.list-result-mini .fail{background:#f7dddd;color:#8b3030}
@media(max-width:720px){
  .list-progress-head{display:block}
  .list-progress-head strong{display:block;margin-top:3px}
}



/* Rev1.7.5 - QR thumbnail in Case Equipment list */
.case-equipment-card-grid{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:14px;align-items:start}
.case-equipment-main{min-width:0}
.case-equipment-qr{display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px;border:1px solid #d7e1e7;border-radius:10px;background:#fff}
.case-equipment-qr img{display:block;width:96px;height:96px;object-fit:contain;image-rendering:auto}
.case-equipment-qr span{color:#637786;font-size:.7rem;font-weight:800}
.case-equipment-qr.no-qr{min-height:112px;justify-content:center;color:#8899a7;font-size:.72rem;text-align:center;border-style:dashed;background:#f8fafb}
@media(max-width:720px){.case-equipment-card-grid{grid-template-columns:1fr}.case-equipment-qr{width:124px}.case-equipment-qr img{width:108px;height:108px}}

/* Rev1.7.6 - explicit Portal Home navigation */
.page-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.page-nav.single{justify-content:flex-start}
.portal-home-nav{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:9px;background:#e8f1f6;color:#174c71!important;text-decoration:none!important;font-weight:800;border:1px solid #c9dce7}
.portal-home-nav:hover{background:#dbeaf3}
.page-nav .back{margin-bottom:0}
.topnav .portal-home-nav{margin-right:auto}
@media(max-width:720px){.page-nav{align-items:stretch}.page-nav>a{width:100%;text-align:center;justify-content:center}.topnav{flex-wrap:wrap}.topnav .portal-home-nav{width:100%;justify-content:center;margin-right:0}}
@media print{.page-nav,.portal-home-nav{display:none!important}}

/* Rev1.8.7 - Administrator Password Hash Generator */
.topnav .admin-tool-link{padding:7px 10px;border-radius:8px;background:#fff7dc;color:#765b00;border:1px solid #ecd98b}
.topnav .admin-tool-link:hover{background:#fff0b6}
.hash-page{max-width:660px}
.admin-tool-notice{border-left:5px solid #d2a300;background:#fff9e8}
.admin-tool-notice strong{display:block;color:#6d5500;margin-bottom:5px}
.admin-tool-notice p{margin:0;color:#5d6267;line-height:1.6}
.password-show-row{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important;font-weight:600!important;color:#526775}
.password-show-row input{width:18px;height:18px;padding:0}
.hash-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.hash-result-head small{display:block;color:#637786}
.hash-result-head h2{margin:3px 0 0;color:#174c71}
.hash-result-panel textarea{margin-top:7px;padding:12px;border:1px solid #b8c9d5;border-radius:8px;background:#f6f9fb;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;word-break:break-all}
.hash-actions{margin-top:12px}
@media(max-width:720px){.topnav .admin-tool-link{width:100%;text-align:center}.hash-result-head{display:block}.hash-result-head .badge{margin-top:8px}.hash-actions .btn{width:100%}}

/* Rev1.9.1 - Related Companies on new case registration */
.related-company-section{border:1px solid #d7e1e7;border-radius:10px;padding:14px;background:#f8fbfd}
.related-company-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px}
.related-company-head strong{display:block;color:#174c71;font-size:1rem}
.related-company-head p{margin:6px 0 0;color:#526775;font-size:.88rem;line-height:1.65;font-weight:500}
.related-company-rows{display:grid;gap:10px}
.related-company-row{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(190px,1fr) 100px auto;gap:10px;align-items:end;padding:12px;background:#fff;border:1px solid #dce6ec;border-radius:9px}
.related-company-row label{margin:0}
.related-active span:last-child{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 9px;border:1px solid #b8c9d5;border-radius:8px;background:#fff;font-weight:600}
.related-active input{width:18px;height:18px;padding:0}
.remove-related-company{margin-bottom:1px}
@media(max-width:800px){.related-company-head{display:block}.related-company-head .btn{margin-top:10px}.related-company-row{grid-template-columns:1fr}.remove-related-company{width:100%}}

/* Rev1.9.2 - clearer Related Company add action */
.related-add-button{display:inline-flex;align-items:center;gap:10px;min-width:210px;padding:10px 14px;border:1px solid #146c94;border-radius:9px;background:#eaf6fb;color:#0c5678;box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:pointer;text-align:left}
.related-add-button:hover{background:#dff1f8;border-color:#0d5f86}
.related-add-button .related-add-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#146c94;color:#fff;font-size:22px;font-weight:700;line-height:1}
.related-add-button strong{display:block;font-size:.94rem;line-height:1.15}
.related-add-button small{display:block;margin-top:3px;color:#527084;font-size:.73rem;font-weight:600}
@media(max-width:800px){.related-add-button{width:100%;justify-content:flex-start;margin-top:10px}}
