:root{font-synthesis:none;text-rendering:optimizelegibility;--background:#eef3f6;--surface:#fff;--text:#14242d;--muted:#667a85;--line:#d4dee4;--brand:#0c5b74;--brand-dark:#073e50;--green:#0c7a57;--red:#bd2d24;--yellow:#a97800;--shadow:0 10px 28px #153a491c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}body{background:var(--background);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.app-header{z-index:30;color:#fff;background:linear-gradient(135deg, var(--brand-dark), var(--brand));justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px 18px;display:flex;position:sticky;top:0;box-shadow:0 4px 18px #0000002e}.app-title{letter-spacing:.04em;font-size:21px;font-weight:900}.app-subtitle{opacity:.82;margin-top:2px;font-size:12px}.header-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sync-badge,.mode-badge,.incident-label{white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.sync-badge,.mode-badge{color:#fff;background:#ffffff24}.state-共有済み:before{content:"●";color:#75e1ad;margin-right:6px}.state-未送信あり:before,.state-接続中:before{content:"●";color:#ffe18a;margin-right:6px}.state-オフライン:before,.state-エラー:before{content:"●";color:#ff9e96;margin-right:6px}.layout{grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 64px);display:grid}.side-nav{background:var(--surface);border-right:1px solid var(--line);height:calc(100vh - 64px);padding:18px 12px;position:sticky;top:64px}.side-nav button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:11px;margin:4px 0;padding:12px 14px;font-weight:800}.side-nav button:hover{background:#edf4f6}.side-nav button.active{color:var(--brand-dark);background:#e3f0f4}.content{min-width:0;padding:24px}.page-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}h1{margin:0;font-size:28px}h2{margin-top:0;font-size:19px}.page-heading p{color:var(--muted);margin:6px 0 0}.incident-label{color:var(--brand-dark);background:#e1eef3}.two-columns{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;display:grid}.panel-card,.loading-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:18px}.loading-card{color:var(--muted)}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}label{gap:7px;margin-bottom:13px;font-size:14px;font-weight:800;display:grid}input,select,textarea{width:100%;color:var(--text);background:#fff;border:1px solid #b9c8d0;border-radius:10px;outline:none;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0c5b7421}textarea{resize:vertical;min-height:145px;line-height:1.6}.priority-fieldset{border:0;gap:9px;margin:2px 0 14px;padding:0;display:flex}.priority-fieldset legend{margin-bottom:7px;font-size:14px;font-weight:800}.priority-option{border:1px solid var(--line);border-radius:10px;grid-auto-flow:column;justify-content:center;align-items:center;min-width:95px;padding:10px;display:flex}.priority-option input{width:auto}.priority-重要{background:#fff8d8}.priority-緊急{background:#fff0ee}.action-row,.filter-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.primary-button,.secondary-button,.scenario-button,.danger-button{border:0;border-radius:11px;padding:11px 16px;font-weight:900}.primary-button{color:#fff;background:var(--brand)}.secondary-button{color:var(--brand-dark);background:#e6eef2}.scenario-button{color:#fff;background:var(--green);width:100%;margin-top:14px}.danger-button{color:#fff;background:var(--red)}button:disabled{opacity:.5;cursor:not-allowed}.info-box,.empty-message{color:#31596a;background:#edf6fa;border:1px solid #c7dee9;border-radius:11px;margin-top:15px;padding:12px;line-height:1.6}.info-box p{margin:6px 0 0}.error-banner{color:#7e1f18;background:#fff0ee;border:1px solid #e9aaa4;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.error-banner button{color:#7e1f18;background:0 0;border:0;font-weight:800}.filter-row{margin-bottom:13px}.filter-row input,.filter-row select{width:auto;min-width:155px}.table-container{border:1px solid var(--line);border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1120px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 11px}th{color:#506570;background:#edf3f5;font-size:12px;position:sticky;top:0}td{font-size:13px;line-height:1.5}.row-重要 td{background:#fff8d8}.row-緊急 td{background:#ffe9e6}.empty-cell{color:var(--muted);text-align:center;padding:30px}.tag{color:#40545f;white-space:nowrap;background:#e8eef1;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;display:inline-block}.tag-重要{color:#685300;background:#ffef9f}.tag-緊急{color:#8b1e16;background:#ffd4d0}.tag-完了{color:#0a613e;background:#d4f0e1}.stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.stat-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;padding:16px}.stat-card strong{font-size:30px;display:block}.stat-card span{color:var(--muted);font-size:12px}.dashboard-columns{grid-template-columns:1fr 1fr}.alert-card{border-left:6px solid var(--red);background:#fff1ef;border-radius:10px;margin-top:10px;padding:12px 13px}.alert-重要{background:#fff8dc;border-left-color:#ce9d00}.alert-card p{margin:5px 0}.alert-card small,.task-row small{color:var(--muted);margin-top:4px;display:block}.task-row{border-bottom:1px solid var(--line);grid-auto-flow:column;align-items:flex-start;gap:10px;padding:11px 0;display:flex}.task-row input{width:auto;margin-top:3px}.settings-list{margin:0 0 18px}.settings-list div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;padding:10px 0;display:grid}.settings-list dt{color:var(--muted);font-weight:800}.settings-list dd{overflow-wrap:anywhere;margin:0;font-weight:800}.setup-steps{padding-left:22px;line-height:1.9}code{background:#eef1f3;border-radius:5px;padding:2px 6px}.bottom-nav{display:none}@media (width<=900px){.layout{display:block}.side-nav{display:none}.content{padding:15px 13px 86px}.two-columns,.dashboard-columns,.form-row{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:flex-start}h1{font-size:24px}.stat-grid{grid-template-columns:1fr 1fr}.filter-row input,.filter-row select{width:100%}.priority-fieldset{grid-template-columns:repeat(3,1fr);display:grid}.priority-option{min-width:0}.bottom-nav{z-index:40;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 18px #0000001f}.bottom-nav button{color:#536873;background:#fff;border:0;padding:11px 4px;font-size:12px;font-weight:900}.bottom-nav button.active{color:var(--brand);background:#e8f2f5}}.voice-button{color:#fff;background:#7a4e00;border:0;border-radius:11px;padding:11px 16px;font-weight:900}.voice-button.recording{background:var(--red);animation:1.2s ease-in-out infinite recording-pulse}.voice-help{color:#5b4a12;background:#fff9df;border:1px solid #d9cfab;border-radius:10px;margin-top:12px;padding:11px 12px;font-size:13px;line-height:1.6}@keyframes recording-pulse{0%,to{opacity:1}50%{opacity:.72}}.room-gate-shell{background:linear-gradient(#eaf2f6 0%,#f8fbfc 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.room-gate-card{background:#fff;border-radius:24px;gap:18px;width:min(560px,100%);padding:28px;display:grid;box-shadow:0 18px 55px #16364824}.room-gate-lead{color:#526673;margin:0}.room-mode-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.room-mode-tabs button{background:#eef4f7;border:1px solid #b7c8d1;border-radius:12px;padding:12px;font-weight:700}.room-mode-tabs button.active{color:#fff;background:#1f566f;border-color:#1f566f}.room-gate-card label{gap:7px;font-weight:700;display:grid}.room-gate-card input,.room-gate-card select{box-sizing:border-box;background:#fff;border:1px solid #b9c8d0;border-radius:12px;width:100%;padding:13px 14px;font-size:1rem}
