:root{--bg:#07111f;--panel:#0e1c30;--line:#29415f;--text:#f8fafc;--muted:#aabbd0;--cyan:#38bdf8;--orange:#f59e0b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}a{color:#7dd3fc;text-decoration:none}header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 18px;background:#0a1729;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:#fff}.brand img{width:54px;height:54px;object-fit:contain}.brand b,.brand small{display:block}.brand b{font-size:19px}.brand small{color:var(--muted)}nav{display:flex;gap:15px;align-items:center;font-size:13px}main{max-width:1500px;margin:auto;padding:20px}.hero,.page-head,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}.hero h1,.page-head h1{margin:3px 0}.shelter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.shelter-card{position:relative;display:flex;flex-direction:column;min-height:125px;padding:16px;background:#0d1a2d;border:1px solid var(--line);border-radius:13px;color:#fff}.shelter-card:hover{border-color:var(--cyan)}.shelter-card small{color:var(--muted)}.shelter-card strong{margin-top:auto;font-size:25px}.risk{position:absolute;right:12px;width:10px;height:10px;border-radius:50%;background:#64748b}.risk.good{background:#22c55e}.risk.watch{background:#f59e0b}.risk.urgent{background:#ef4444}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.kpis{display:flex;gap:9px}.kpis span{min-width:100px;background:#12233b;padding:10px;border-radius:10px;text-align:center}.kpis b{display:block;font-size:24px}.level.watch{color:#fbbf24}.level.urgent{color:#f87171}.tabs{display:flex;gap:7px;overflow:auto;margin:0 0 13px}.tabs button{white-space:nowrap;background:#14263f;color:#fff;border:1px solid #355274;border-radius:9px;padding:10px 13px;cursor:pointer}.tabs button.active{background:#0369a1;border-color:#38bdf8}.tab-panel{display:none}.tab-panel.active{display:block}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid label{display:flex;flex-direction:column;gap:5px;color:#cbd5e1;font-size:13px}.form-grid .wide{grid-column:1/-1}.check{flex-direction:row!important;align-items:center}.check input{width:auto}input,select,textarea{width:100%;padding:10px;background:#071426;color:#fff;border:1px solid #38506e;border-radius:8px;font:inherit}textarea{min-height:75px}.primary,.qr-btn,dialog button{border:0;border-radius:8px;padding:10px 15px;background:var(--orange);color:#111827;font-weight:800;cursor:pointer}.form-grid>.primary{align-self:end}.privacy{padding:10px;background:#172554;border-left:4px solid #60a5fa}.summary-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:14px}.row{display:flex;justify-content:space-between;gap:9px;padding:10px 0;border-bottom:1px solid #23364f}.row small{display:block;color:var(--muted);margin-top:4px}.flash{max-width:1450px;margin:12px auto;padding:12px 18px;background:#14532d;border-radius:9px}.flash.bad{background:#7f1d1d}.sim-inputs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.sim-inputs label{min-width:210px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #29415f;text-align:right}th:first-child,td:first-child{text-align:left}td small{display:block;color:var(--muted)}.shortage.bad{background:#7f1d1d;color:#fff;font-weight:900}dialog{background:#fff;color:#111827;border:0;border-radius:15px;max-width:390px;text-align:center}#qrBox{display:flex;justify-content:center;margin:15px}footer{text-align:center;padding:20px;color:#cbd5e1;border-top:1px solid var(--line)}.login{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,92vw);background:var(--panel);padding:28px;border-radius:18px}.login-card img{display:block;width:90px;margin:auto}.login-card label{display:block;margin:12px 0}.error{color:#fca5a5}
/* 個別避難所：最小入力モード */
.simple-tabs{position:sticky;top:75px;z-index:12;background:#081426;padding:8px;border-radius:12px}.simple-tabs button{min-height:52px;font-size:17px;font-weight:900;flex:1}.simple-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.simple-head h2{font-size:27px;margin:0 0 4px}.simple-head p{margin:0;color:#b8c8dc;font-size:16px}.simple-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:#17304c;font-size:31px}.daily-simple-form{display:grid;gap:16px;max-width:1180px}.input-step{padding:18px;background:#0d1c30;border:1px solid #2e4764;border-radius:14px}.input-step h3{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:21px}.input-step h3>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0284c7;color:#fff;font-size:16px}.large-date{max-width:470px;font-size:21px!important;font-weight:800;padding:14px!important}.number-pair{display:grid;grid-template-columns:repeat(2,minmax(0,300px));gap:16px}.number-pair label,.compact-number{display:grid;grid-template-columns:1fr auto;align-items:end;gap:7px;font-size:17px;font-weight:800}.number-pair label input{grid-column:1}.number-pair label b{grid-column:2;grid-row:2;padding-bottom:13px}.number-pair input{font-size:32px!important;font-weight:900;text-align:right;padding:11px!important}.choice-group{display:flex;gap:8px;flex-wrap:wrap}.choice-group label{cursor:pointer}.choice-group input{position:absolute;opacity:0;pointer-events:none}.choice-group span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:52px;padding:10px 15px;background:#152942;border:2px solid #3a5574;border-radius:11px;color:#e8f1fb;font-size:17px;font-weight:900;transition:.15s}.choice-group input:checked+span{background:#075985;border-color:#7dd3fc;box-shadow:0 0 0 3px rgba(125,211,252,.18)}.choice-group input:focus-visible+span{outline:3px solid #facc15;outline-offset:2px}.choice-group span i{font-style:normal;font-size:21px}.status-choice{display:grid;grid-template-columns:repeat(2,1fr)}.status-choice span{padding:8px;min-height:56px}.status-choice small{font-size:12px;color:#cbd5e1}.utility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.utility-grid fieldset{min-width:0;margin:0;padding:12px;border:1px solid #38506e;border-radius:12px}.utility-grid legend{padding:0 7px;font-size:18px;font-weight:900}.optional-input{border:1px solid #38506e;border-radius:14px;background:#0d1c30}.optional-input summary{cursor:pointer;padding:16px 18px;font-size:18px;font-weight:900}.optional-input[open] summary{border-bottom:1px solid #38506e}.extra-utilities{padding:16px}.compact-number{grid-template-columns:1fr 90px auto;align-items:center;padding:12px;font-size:17px}.compact-number input{font-size:22px!important;text-align:right}.input-step textarea{min-height:105px;font-size:18px;line-height:1.6}.save-daily{min-height:64px;font-size:22px;border-radius:13px}.history-table{min-width:900px}.history-table th,.history-table td{font-size:16px;text-align:center}.history-table th:first-child,.history-table td:first-child{text-align:left}.memo-cell{min-width:250px;text-align:left!important}.status-mark{display:inline-grid;place-items:center;min-width:38px;height:38px;border-radius:50%;background:#475569;font-size:20px;font-weight:900}.status-mark.ok{background:#166534}.status-mark.warn{background:#a16207}.status-mark.bad{background:#991b1b}.detail-links{display:grid;grid-template-columns:repeat(2,minmax(0,330px));gap:12px}.detail-links a,.detail-links button{display:flex;align-items:center;justify-content:center;min-height:62px;padding:12px;border:1px solid #3a5574;border-radius:12px;background:#152942;color:#fff;font-size:18px;font-weight:900;cursor:pointer}.legacy-workflows{display:none}.legacy-workflows.revealed{display:block}.legacy-workflows.revealed .tab-panel{display:block}.legacy-workflows.revealed:before{content:'詳細機能';display:block;margin:18px 0 10px;font-size:24px;font-weight:900;color:#f8fafc}
.management-guide{background:linear-gradient(135deg,#0d2941,#10223b);border:2px solid #38bdf8;border-radius:16px;padding:20px;margin-bottom:16px}.guide-title{display:flex;align-items:flex-start;gap:13px}.guide-title>span{font-size:32px}.guide-title h2{margin:0 0 4px;font-size:25px}.guide-title p{margin:0;color:#d7e7f7;font-size:17px;line-height:1.6}.guide-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0 13px}.guide-cards article{display:flex;align-items:center;gap:11px;padding:14px;background:#071a2d;border:1px solid #345474;border-radius:12px}.guide-cards article>span{font-size:29px}.guide-cards b,.guide-cards small{display:block}.guide-cards b{font-size:17px}.guide-cards small{margin-top:3px;color:#b8c8dc;font-size:13px}.guide-result{margin:0;padding:11px 14px;background:#134e4a;border-radius:10px;color:#ecfeff;font-size:16px;font-weight:800}.step-help{margin:-7px 0 13px;color:#bfd0e3;font-size:15px}.date-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-button{min-height:55px;padding:10px 18px;border:2px solid #38bdf8;border-radius:11px;background:#123251;color:#fff;font-size:17px;font-weight:900;cursor:pointer}.number-control{padding:14px;background:#071a2d;border:1px solid #345474;border-radius:12px}.number-control>label{display:block;margin-bottom:7px;font-size:18px;font-weight:900}.number-display{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.number-display input{font-size:34px!important;font-weight:900;text-align:right;padding:10px!important}.number-display b{font-size:18px}.number-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px}.number-buttons button,.memo-buttons button{min-height:48px;border:2px solid #3a5b7e;border-radius:10px;background:#183553;color:#fff;font-size:16px;font-weight:900;cursor:pointer}.number-buttons button:active,.memo-buttons button:active,.action-button:active{transform:translateY(1px);background:#075985}.operation-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.operation-choice span{flex-direction:column;min-height:86px}.operation-choice span b{font-size:18px}.operation-choice span small{color:#cbd5e1;font-size:13px}.memo-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.memo-buttons button.selected{background:#166534;border-color:#86efac}.submit-guide{display:flex;gap:12px;align-items:center;padding:14px 16px;background:#172554;border-left:5px solid #60a5fa;border-radius:10px;font-size:15px}.submit-guide b{white-space:nowrap;font-size:17px}.operation-kpi{font-size:19px!important;white-space:nowrap}.legacy-summary{display:none}.legacy-workflows.revealed+.legacy-summary{display:block}
@media(max-width:1000px){.shelter-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.guide-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){header{position:static;align-items:flex-start;flex-direction:column}nav{width:100%;overflow:auto}.shelter-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.kpis{width:100%;overflow:auto}.kpis span{min-width:95px}main{padding:12px}.simple-tabs{top:0}.simple-tabs button{font-size:15px}.simple-head h2{font-size:23px}.number-pair,.utility-grid,.detail-links,.guide-cards,.memo-buttons{grid-template-columns:1fr}.status-choice{grid-template-columns:repeat(2,1fr)}.operation-choice{grid-template-columns:1fr}.panel{padding:14px}.choice-group span{font-size:16px}.management-guide{padding:15px}.guide-title h2{font-size:22px}.date-row>*{width:100%}.number-buttons button{font-size:15px}.submit-guide{align-items:flex-start;flex-direction:column}}
@media print{header,.tabs,form,footer,dialog>button{display:none!important}dialog{display:block!important;position:static}.panel{border:0}}
