:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#182b41;background:#eef2f6;font-size:16px;--blue:#174f7e;--line:#d8e1eb}*{box-sizing:border-box}body{margin:0}a{color:#155783;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{min-height:44px;border:1px solid #b8c8d9;border-radius:7px;background:white;color:#183f64;padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover,.button:hover{background:#e9f1f8;text-decoration:none}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#123e65}.danger{color:#a42335;border-color:#d5a4ac}.topbar{background:#122f4b;color:white;display:flex;align-items:center;justify-content:space-between;padding:20px 30px;gap:20px}.brand{font-weight:700;font-size:1.4rem;color:white}.brand small{display:block;font-size:.875rem;font-weight:400;margin-top:5px;color:#d3e3f2}#session{display:flex;align-items:center;gap:12px;font-size:.875rem;flex-wrap:wrap}#session button{min-height:36px;padding:6px 10px}main{max-width:1240px;margin:0 auto;padding:28px 24px 48px}.eyebrow{color:#60748a;font-size:.875rem;font-weight:600;letter-spacing:.06em}h1{font-size:1.75rem;margin:8px 0 14px}h2{font-size:1.2rem;margin:0 0 16px}h3{font-size:1.05rem;margin:0 0 8px}p{line-height:1.65}small,.muted{color:#566b81;font-size:.875rem}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.actions{display:flex;gap:8px;flex-wrap:wrap}.panel,.card{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:16px;box-shadow:0 2px 4px #182b4104}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.metric{background:white;border:1px solid var(--line);border-top:4px solid #8ba2b9;border-radius:8px;padding:16px}.metric b{display:block;font-size:1.65rem;margin-top:6px}.metric.alert{border-top-color:#b2273d;color:#a22336}.metric.good{border-top-color:#16784f}.badge{display:inline-block;padding:5px 10px;border-radius:5px;font-size:.875rem;background:#eef2f6;color:#495e73;font-weight:600}.badge.red{background:#fce7eb;color:#a51f34}.badge.green{background:#e3f4eb;color:#116541}.badge.amber{background:#fff1d6;color:#85570a}.badge.blue{background:#e2effb;color:#1b5282}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.filters input{flex:1;min-width:220px}.case-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border-left:4px solid #527da5}.case-card h3{font-size:1.15rem}.case-card .meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.nav{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.nav a{padding:10px 13px;border:1px solid var(--line);border-radius:6px;background:white;min-height:44px}.nav a.active{background:var(--blue);color:white;border-color:var(--blue)}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:6px}input,select,textarea{width:100%;max-width:100%;background:white;border:1px solid #b7c6d6;border-radius:6px;padding:11px 12px;color:#172b42;min-height:44px}input[type=date]{min-width:0;-webkit-appearance:none}input[type=checkbox]{width:22px;min-height:22px;vertical-align:middle}textarea{min-height:94px;resize:vertical;line-height:1.6}.field{margin-bottom:18px}.field.full{grid-column:1/-1}.checks label{font-weight:400;margin:10px 0}.progress-row{display:grid;grid-template-columns:180px 1fr 60px;gap:14px;align-items:center;margin:18px 0}.progress{height:9px;border-radius:10px;background:#e8eef4;overflow:hidden}.progress span{display:block;height:100%;background:#2874a5}.record-card{border-left:4px solid #acbac9}.record-card.red{border-left-color:#b2273d}.record-card.green{border-left-color:#16825a}.record-card.amber{border-left-color:#b7831f}.record-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.record-head .actions{flex-shrink:0}.record-card p{margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.record-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;font-size:.875rem;overflow-wrap:anywhere}.record-detail strong{display:block;color:#566b81;margin-bottom:4px}.warning{background:#fff4e2;border:1px solid #dfbf7c;border-radius:8px;padding:16px;color:#754800;margin-bottom:16px}.warning.error{background:#fff0f2;border-color:#dcacb5;color:#9a2034}.empty{text-align:center;padding:40px 20px;color:#60738a}.bottom{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}dialog{width:min(860px,calc(100% - 24px));max-height:90vh;border:0;border-radius:12px;padding:24px;box-shadow:0 16px 80px #0004}dialog::backdrop{background:#10273e88}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.dialog-foot{position:sticky;bottom:-24px;background:white;border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:flex-end;gap:10px}.auth{max-width:460px;margin:35px auto}.file-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.thumb{width:100%;max-height:160px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}th{font-size:.875rem;color:#526981;background:#f5f8fb}summary{cursor:pointer;padding:12px 0;font-weight:600}pre{white-space:pre-wrap;word-break:break-all;font-size:.875rem}.audit-values{display:grid;grid-template-columns:1fr 1fr;gap:15px}.audit-values>div{padding:12px;background:#f5f8fb;border-radius:6px}#notice{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);background:#173e60;color:white;padding:12px 20px;border-radius:8px;z-index:100;max-width:90vw;display:none}#save-status{position:fixed;bottom:18px;right:20px;background:#173e60;color:white;border-radius:20px;padding:9px 16px;z-index:101;font-size:.875rem;display:none}footer{max-width:1240px;margin:auto;padding:0 24px 28px;color:#62748a;font-size:.875rem;line-height:1.6}.report{background:white;padding:30px;line-height:1.65}.report h1{text-align:center}.report dl{display:grid;grid-template-columns:160px 1fr;gap:8px}.report dt{color:#566b81}.report dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.report section{margin:24px 0}.report .report-item{padding:12px 0;border-bottom:1px solid var(--line);break-inside:avoid}.report table{font-size:.875rem}.report .photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report .photos img{max-width:100%;max-height:180px;object-fit:contain}.report-title{border-bottom:3px solid #173e60;padding-bottom:16px}.report .badge{border:1px solid currentColor}
@media(max-width:760px){.topbar{padding:16px;align-items:flex-start;flex-direction:column;gap:12px}.brand{font-size:1.2rem}main{padding:20px 14px 40px}.grid,.grid.two{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.panel,.card{padding:18px}.case-card{grid-template-columns:1fr}.record-head{flex-direction:column}.record-detail{grid-template-columns:1fr}.progress-row{grid-template-columns:120px 1fr 50px;font-size:.875rem}.filters{flex-direction:column}.filters input{min-width:0}.nav{gap:7px}.nav a{font-size:.875rem;padding:10px}.audit-values{grid-template-columns:1fr}.report{padding:16px}.report dl{grid-template-columns:110px 1fr}dialog{padding:20px}.dialog-foot{bottom:-20px}.report .photos{grid-template-columns:repeat(2,1fr)}}
progress.progress{width:100%;border:0;appearance:none;-webkit-appearance:none}progress.progress::-webkit-progress-bar{background:#e8eef4;border-radius:10px}progress.progress::-webkit-progress-value{background:#2874a5;border-radius:10px}progress.progress::-moz-progress-bar{background:#2874a5;border-radius:10px}
@page{size:A4;margin:16mm 13mm}@media print{body{background:white;color:black;font-size:10pt}.topbar,.nav,.no-print,footer,#notice,#save-status,dialog{display:none!important}main{max-width:none;margin:0;padding:0}.report{padding:0}.report h1{font-size:18pt}.report h2{font-size:13pt;break-after:avoid}.report table{font-size:9pt}.report th,.report td{padding:5px}.report dl{grid-template-columns:35mm 1fr}.report a{color:black}.report section{margin:16px 0}.report .photos img{max-height:45mm}thead{display:table-header-group}tr{break-inside:avoid}.badge{background:white!important;color:black!important}}
