.room-save-notice{border-radius:10px;font-size:.9rem;font-weight:900;line-height:1.45;margin:-.25rem 0 .85rem;padding:.65rem .8rem}.room-save-notice-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.room-save-notice-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.qr-panel-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.v1-dashboard .btn-qr-close{background:#64748b!important;border-color:#64748b!important;color:#fff!important}.v1-dashboard .v1-header{position:sticky}.v1-dashboard .header-actions{padding-right:7rem!important}.v1-dashboard .admin-logout-top{border:1px solid rgba(255,255,255,.6)!important;border-radius:8px!important;color:#fff!important;padding:.45rem .7rem!important;position:absolute!important;right:.9rem!important;top:.65rem!important;z-index:2!important}.v1-dashboard .btn-contact-disabled{cursor:not-allowed;opacity:.62;pointer-events:none}.disable-room-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:.65rem;margin:-.2rem 0 .85rem;padding:.75rem}.disable-room-panel .disable-room-label{font-size:.85rem}.disable-room-panel .disable-room-label select{max-width:none;width:100%}.disable-room-panel .btn-disable-room{justify-self:start}@media (max-width: 720px){.v1-dashboard .v1-header{padding:1.75rem .9rem .85rem!important}.v1-dashboard .v1-header .header-left{align-items:flex-start!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:.45rem .65rem!important}.v1-dashboard .v1-header .bell-icon{font-size:1.55rem!important;line-height:1!important}.v1-dashboard .v1-header .header-title{font-size:1.45rem!important;line-height:1.25!important;white-space:normal!important}.v1-dashboard .v1-header .header-facility{grid-column:1 / -1!important;font-size:1.05rem!important;line-height:1.3!important;white-space:normal!important}.v1-dashboard .header-actions{align-self:stretch!important;gap:.55rem!important;justify-content:flex-start!important;padding-right:0!important;width:100%!important}.v1-dashboard .btn-contact{border-radius:8px!important;font-size:.95rem!important;justify-content:center!important;max-width:100%!important;min-height:44px!important;padding:.65rem .8rem!important;width:100%!important}.v1-dashboard .admin-logout-top{font-size:.82rem!important;min-height:32px!important;padding:.24rem .55rem!important;right:.65rem!important;top:.45rem!important}.v1-dashboard .v1-main{padding:.75rem!important}.v1-dashboard .device-summary{align-self:stretch!important;border-radius:12px!important;display:flex!important;font-size:.9rem!important;line-height:1.45!important;padding:.65rem .75rem!important;white-space:normal!important;width:100%!important}.v1-dashboard .device-summary .summary-dot{flex:0 0 .65rem!important;height:.65rem!important;margin-top:.35rem!important;width:.65rem!important}.v1-dashboard .room-device-card .section-title-row,.v1-dashboard .call-log-header{padding-bottom:.55rem!important}.v1-dashboard .room-device-card .section-title,.v1-dashboard .call-log-header h2{font-size:1.35rem!important;line-height:1.2!important}.v1-dashboard .room-stats{gap:.2rem!important;margin-bottom:.8rem!important}.v1-dashboard .room-stats>div{background:transparent!important;border:0!important;font-size:.95rem!important;line-height:1.4!important;padding:0!important}.v1-dashboard .room-stats>div:nth-child(2){display:none!important}.v1-dashboard .room-action-panel{grid-template-columns:1fr!important}.v1-dashboard .btn-room-action,.v1-dashboard .btn-room-secondary,.v1-dashboard .btn-print,.v1-dashboard .room-edit-actions button{min-height:44px!important}.v1-dashboard .disable-room-panel{grid-template-columns:1fr!important}.v1-dashboard .disable-room-panel .btn-disable-room{justify-self:stretch!important}.v1-dashboard .qr-panel-header{align-items:stretch!important;flex-direction:column!important}.v1-dashboard .qr-panel-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.v1-dashboard .qr-grid{grid-template-columns:1fr!important;max-height:min(60dvh,520px)!important}.v1-dashboard .qr-item img{height:180px!important;width:180px!important}.v1-dashboard .room-table-wrapper{border:none!important;overflow:visible!important}.v1-dashboard .room-device-table,.v1-dashboard .room-device-table tbody{background:transparent!important;display:block!important;width:100%!important}.v1-dashboard .room-device-table thead{display:none!important}.v1-dashboard .room-device-table tbody{display:flex!important;flex-direction:column!important;gap:.45rem!important}.v1-dashboard .room-device-table tr{align-items:center!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;display:grid!important;gap:.45rem!important;grid-template-columns:minmax(0,1fr) auto auto!important;padding:.65rem .7rem!important}.v1-dashboard .room-device-table td{align-items:center!important;border-bottom:0!important;display:flex!important;justify-content:flex-end!important;padding:0!important;white-space:normal!important}.v1-dashboard .room-device-table td:first-child{align-items:center!important;grid-column:auto!important;justify-content:flex-start!important;min-width:0!important}.v1-dashboard .room-device-table td.room-name-edit-cell{grid-column:1 / -1!important}.v1-dashboard .room-device-table td:nth-child(2):before,.v1-dashboard .room-device-table td:nth-child(3):before{display:none!important}.v1-dashboard .room-name-cell{align-items:center!important;display:flex!important;font-size:1rem!important;gap:.2rem!important;justify-content:flex-start!important;min-width:0!important;width:100%!important}.v1-dashboard .room-name-cell .btn-pencil{margin-left:auto!important}.v1-dashboard .btn-pencil{min-height:32px!important;min-width:32px!important}.v1-dashboard .room-edit-box{min-width:0!important;width:100%!important}.v1-dashboard .room-edit-box input{font-size:1rem!important;min-height:44px!important;width:100%!important}.v1-dashboard .room-edit-actions{display:grid!important;grid-template-columns:1fr!important}.v1-dashboard .contract-chip,.v1-dashboard .device-chip{align-items:center!important;display:inline-flex!important;font-size:.9rem!important;justify-content:center!important;line-height:1.2!important;min-height:34px!important;min-width:58px!important;padding:.35rem .55rem!important}}.v1-dashboard .device-summary{align-self:stretch;display:flex;width:100%;align-items:center;justify-content:space-between;gap:.8rem;border-radius:14px;padding:.85rem 1.15rem}.v1-dashboard .device-summary-heading{display:inline-flex;min-width:0;align-items:center;gap:.55rem}.v1-dashboard .device-summary-title{margin:0;color:#0f172a;font-size:1.4rem;font-weight:950;line-height:1.2}.v1-dashboard .device-summary-warning .device-summary-title{color:#c2410c}.v1-dashboard .device-summary-detail{margin:0;color:#475569;font-size:1rem;font-weight:850;line-height:1.3;text-align:right}.v1-header button.btn-contact{font:inherit;cursor:pointer}.v1-header .btn-contact-disabled{opacity:.88}.v1-header .btn-contact-disabled:hover,.v1-header .btn-contact-disabled:focus-visible{background:#ffffff29;outline:2px solid rgba(255,255,255,.72);outline-offset:2px}@media (max-width: 720px){.v1-dashboard .device-summary{align-items:flex-start;flex-direction:column}.v1-dashboard .device-summary-detail{text-align:left}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-missed: #dc2626;--color-missed-bg:#fef2f2;--color-a: #16a34a;--color-a-bg: #f0fdf4;--color-b: #2563eb;--color-b-bg: #eff6ff;--color-test: #6b7280;--color-test-bg: #f3f4f6;--color-primary: #dc2626;--radius: 6px;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif}body{background:#f1f5f9;color:#1e293b;min-height:100dvh}.login-container{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e1b4b,#be123c);padding:1rem}.login-card{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:2rem}.sos-icon{font-size:3rem;margin-bottom:.5rem}.login-header h1{font-size:1.4rem;color:#1e293b}.login-subtitle{color:#64748b;font-size:.9rem;margin-top:.25rem}.login-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-size:.85rem;font-weight:600;color:#475569}.form-group input{border:1.5px solid #cbd5e1;border-radius:var(--radius);padding:.65rem .9rem;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-error{color:var(--color-missed);font-size:.85rem}.login-note{margin-top:1.5rem;font-size:.75rem;color:#94a3b8;text-align:center}.btn-primary{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:.75rem 1.5rem;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.85}.btn-logout{background:transparent;border:1.5px solid #cbd5e1;border-radius:var(--radius);padding:.4rem .9rem;font-size:.85rem;cursor:pointer;color:#475569}.btn-logout:hover{background:#f1f5f9}.facility-select-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#f1f5f9;padding:1rem}.facility-select-card{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:400px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;gap:1.25rem}.facility-select-card h1{font-size:1.2rem;color:#1e293b}.facility-select-email{color:#64748b;font-size:.9rem}.facility-selector{display:flex;flex-direction:column;gap:.4rem}.facility-selector label{font-size:.85rem;font-weight:600;color:#475569}.facility-selector select{border:1.5px solid #cbd5e1;border-radius:var(--radius);padding:.65rem .9rem;font-size:1rem;background:#fff}.dashboard{min-height:100dvh;display:flex;flex-direction:column}.dashboard-alert{background:var(--color-missed-bg)}.dashboard-header{background:#1e293b;color:#fff;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:.75rem}.header-icon{font-size:1.6rem}.header-title{font-size:1rem;font-weight:700}.header-facility{font-size:.8rem;color:#94a3b8}.dashboard-main{padding:1rem;max-width:960px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:1.25rem}.alert-banner{background:var(--color-missed);color:#fff;border-radius:var(--radius);padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.alert-icon{font-size:1.3rem}.room-card{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.room-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.room-name{font-size:1.3rem;font-weight:700}.room-id-chip{background:#f1f5f9;border-radius:999px;padding:.2rem .75rem;font-size:.75rem;color:#64748b;font-family:monospace}.latest-call-list{display:flex;flex-direction:column;gap:.75rem}.latest-call{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:var(--radius);padding:1rem}.latest-call-list .latest-call{display:flex;justify-content:space-between;gap:1rem}.latest-call-main{min-width:0}.latest-call-action{display:flex;align-items:center;justify-content:flex-end}.latest-call-missed{background:var(--color-missed-bg)!important;border-color:var(--color-missed)!important}.latest-call-label{font-size:.8rem;color:#64748b;margin-bottom:.5rem}.latest-call-status{margin-bottom:.75rem}.latest-call-meta{display:flex;flex-wrap:wrap;gap:.5rem .75rem}.meta-item{display:flex;gap:.35rem;font-size:.8rem}.meta-key{color:#94a3b8;background:#f1f5f9;padding:.1rem .4rem;border-radius:4px;font-family:monospace}.meta-val{color:#334155;font-family:monospace}.badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;font-weight:700;white-space:nowrap}.badge-missed{background:var(--color-missed);color:#fff}.badge-a{background:var(--color-a);color:#fff}.badge-b{background:var(--color-b);color:#fff}.badge-test{background:var(--color-test-bg);color:var(--color-test);border:1.5px dashed #9ca3af}.badge-is-test{opacity:.85}.test-marker{font-size:.7rem;letter-spacing:.05em}.legend-section{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.legend-section h3{font-size:.9rem;color:#64748b;margin-bottom:.75rem}.legend-grid{display:flex;flex-wrap:wrap;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#475569}.export-section{background:#fff;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 2px 8px #0000000f}.export-buttons{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.export-label{font-size:.85rem;color:#64748b;flex:1 1 auto}.btn-export{border:none;border-radius:var(--radius);padding:.45rem .85rem;font-size:.78rem;font-weight:700;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-export:hover{opacity:.8}.btn-export:disabled{opacity:.55;cursor:not-allowed}.btn-csv{background:#16a34a;color:#fff}.btn-pdf{background:#2563eb;color:#fff}.log-section{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.call-log-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.call-log h2{font-size:1rem;font-weight:700;margin-bottom:.2rem}.call-log-export-note{font-size:.72rem;color:#64748b;line-height:1.4}.call-log-header .btn-export{margin-top:.1rem}.log-table-wrapper{overflow-x:auto}.log-table{width:100%;border-collapse:collapse;font-size:.82rem}.log-table th{background:#f8fafc;color:#64748b;font-weight:600;padding:.6rem .75rem;text-align:left;border-bottom:2px solid #e2e8f0;white-space:nowrap}.log-table td{padding:.6rem .75rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.log-row:hover{background:#f8fafc}.row-missed{background:var(--color-missed-bg)!important}.row-missed:hover{background:#fee2e2!important}.row-test{background:var(--color-test-bg)!important;opacity:.75}.td-mono{font-family:monospace;color:#475569}.td-datetime{white-space:nowrap}.connection-note{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#94a3b8;padding:.5rem 0 1rem}.conn-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.conn-dummy{background:#f59e0b}.conn-live{background:#16a34a}.alert-body{display:flex;flex-direction:column;gap:.2rem}.alert-sub{font-size:.8rem;opacity:.85;font-weight:400}.email-notify-note{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius);padding:.5rem .75rem}.email-notify-icon{font-size:1rem;flex-shrink:0}.poc-preview-section{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:.75rem}.poc-preview-heading{font-size:.9rem;font-weight:700;color:#475569}.poc-preview-note{font-size:.8rem;color:#94a3b8;margin-bottom:.25rem}.sos-preview-section{background:#f8fafc;border-radius:8px;padding:.85rem 1rem;border-left:4px solid var(--color-primary)}@media (max-width: 640px){.latest-call-list .latest-call{flex-direction:column}.latest-call-action{justify-content:flex-start}.call-log-header{align-items:center}.call-log-export-note{max-width:12rem}}body{font-size:11px}.dashboard-main{gap:.85rem;max-width:900px}.dashboard-header{padding:.85rem 1.25rem}.header-left{gap:1rem;flex-wrap:wrap}.header-title{font-size:2rem;line-height:1.1}.header-facility{font-size:1.6rem;color:#e2e8f0}.btn-logout{background:#fff;border-color:#fff;color:#1e293b;font-size:1rem;font-weight:700;line-height:1;padding:.65rem 1.1rem;min-width:104px;white-space:nowrap;word-break:keep-all;flex-shrink:0;text-align:center}.room-card,.log-section{padding:1rem}.legend-section,.export-section,.poc-preview-section,.email-notify-note,.status-grid{display:none!important}.section-title,.call-log h2{font-size:1.45rem;font-weight:900;color:#1e293b;margin-bottom:.65rem}.latest-call-section .room-header,.latest-call-label,.latest-call-status{display:none!important}.latest-call-list{gap:.55rem}.latest-call{padding:.8rem}.latest-call-list .latest-call{align-items:center}.latest-call-top{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.5rem}.latest-call-room,.log-card-room,.latest-call-time,.log-card-time{font-size:1.8rem;font-weight:900;color:#1e293b;line-height:1;white-space:nowrap}.latest-call-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.latest-call-confirm,.latest-call-answer,.log-card-confirm,.log-card-answer{font-size:1.45rem;font-weight:900;color:#1e293b;background:#f8fafc;border-radius:999px;padding:.16rem .55rem;white-space:nowrap}.latest-call-answer,.log-card-answer{background:#eff6ff!important;color:#1d4ed8!important}.log-card-answer-ok,.latest-call-answer-ok{background:#f0fdf4!important;color:#15803d!important}.log-card-answer-unhandled,.latest-call-answer-unhandled{background:#fef2f2!important;color:#dc2626!important}.log-card-answer-unknown,.latest-call-answer-unknown{background:#f8fafc!important;color:#475569!important}.latest-call-label,.connection-note,.log-empty,.meta-item,.log-card-detail,.td-muted{font-size:11px}.meta-val{font-size:1rem}.log-table-wrapper,.log-table{display:none!important}.log-empty{color:#94a3b8}.log-card-list{display:flex;flex-direction:column;gap:.5rem}.log-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.75rem .85rem}.log-card:hover{background:#f8fafc}.log-card-missed{background:var(--color-missed-bg);border-color:#fecaca}.log-card-test{opacity:.85}.log-card-main{min-width:0}.log-card-top{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.5rem}.log-card-detail{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:#64748b}.log-card-detail span{background:#f8fafc;border-radius:999px;padding:.16rem .55rem;white-space:nowrap}.log-card-action,.latest-call-action{display:flex;justify-content:flex-end}.answer-button-group{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.btn-ack{border:none;border-radius:999px;background:#16a34a;color:#fff;font-size:1rem;font-weight:700;padding:.55rem .95rem;cursor:pointer;white-space:nowrap}.btn-ack-none{background:#dc2626}.btn-ack-unknown{background:#64748b}.btn-ack:hover:not(:disabled){opacity:.85}.btn-ack:disabled{background:#94a3b8;cursor:not-allowed;opacity:.8}.td-muted{color:#94a3b8}.connection-note{padding:.1rem 0 .4rem}.badge{font-size:1rem}@media (max-width: 720px){.dashboard-main{padding:.75rem}.dashboard-header{align-items:flex-start;gap:.75rem}.header-title{font-size:1.35rem}.header-facility{font-size:1rem}.btn-logout{font-size:.86rem;min-width:92px;padding:.58rem .75rem}.latest-call-room,.log-card-room,.latest-call-time,.log-card-time{font-size:1.55rem}.latest-call-confirm,.latest-call-answer,.log-card-confirm,.log-card-answer{font-size:1.25rem}.log-card,.latest-call-list .latest-call{grid-template-columns:1fr;flex-direction:column}.log-card-action,.answer-button-group{justify-content:flex-start}}.v1-dashboard{background:#eef2f7}.v1-header{background:#0f2144;padding:.9rem 1.4rem;gap:1rem}.bell-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:#dc2626;color:#fff;font-size:1.6rem}.v1-header .header-title{font-size:1.7rem;color:#fff}.v1-header .header-facility{margin-top:.1rem;font-size:1rem;color:#cbd5e1}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.btn-contact,.admin-label{border-radius:999px;padding:.5rem .85rem;font-size:.9rem;font-weight:800;white-space:nowrap}.btn-contact{background:#f97316;color:#fff;text-decoration:none}.admin-label{background:#ffffff1f;color:#e2e8f0}.v1-main{max-width:1180px;padding:1rem;gap:.9rem}.device-summary{align-self:flex-start;display:inline-flex;align-items:center;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#166534;font-size:1.05rem;font-weight:900;padding:.45rem .9rem}.device-summary-warning,.sync-error{background:#fff7ed;border:1px solid #fdba74;color:#c2410c}.v1-layout{display:grid;grid-template-columns:minmax(0,58fr) minmax(320px,42fr);gap:1rem;align-items:start}.v1-left-column,.v1-right-column{display:flex;flex-direction:column;gap:1rem;min-width:0}.v1-card{border:1px solid #e2e8f0;box-shadow:0 8px 24px #0f172a14}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-title-row .section-title,.call-log-header h2{margin:0;font-size:1.25rem}.count-badge{display:inline-flex;min-width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:999px;background:#dc2626;color:#fff;font-size:1.05rem;font-weight:900}.scroll-card-body{max-height:280px;overflow-y:auto;padding-right:.25rem}.latest-call-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;background:#fff7f7;border-color:#fecaca}.compact-confirm-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.latest-call-room,.latest-call-time{font-size:1.1rem}.latest-call-answer,.log-card-answer{font-size:.95rem}.btn-ack-red{background:#dc2626}.confirmed-muted{display:inline-flex;border-radius:999px;background:#e5e7eb;color:#4b5563;font-size:.9rem;font-weight:800;padding:.45rem .75rem}.empty-state{color:#64748b;font-size:1rem;font-weight:700}.call-log-header{align-items:flex-start;margin-bottom:.7rem}.call-log-export-action{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.btn-csv{background:#f97316!important;color:#fff;border-radius:999px;padding:.6rem 1rem;font-size:.9rem}.call-history-scroll,.room-table-wrapper{overflow:auto;border:1px solid #e2e8f0;border-radius:10px}.call-history-scroll{max-height:420px}.call-history-table,.room-device-table{width:100%;border-collapse:collapse;background:#fff;font-size:.9rem}.call-history-table th,.call-history-table td,.room-device-table th,.room-device-table td{padding:.65rem .7rem;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:middle;white-space:nowrap}.call-history-table th,.room-device-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475569;font-weight:900}.result-ok,.result-unhandled,.confirm-chip,.contract-chip,.device-chip{display:inline-flex;border-radius:999px;padding:.25rem .55rem;font-weight:900}.result-ok{background:#f0fdf4;color:#15803d}.result-unhandled{background:#fef2f2;color:#dc2626}.confirm-done{background:#e5e7eb;color:#4b5563}.confirm-waiting{background:#ffedd5;color:#c2410c}.room-device-card{max-width:520px;width:100%}.room-stats{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.85rem}.room-stats>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.7rem;font-size:.95rem}.room-action-panel{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.85rem}.add-room-label{display:flex;flex-direction:column;gap:.25rem;color:#475569;font-size:.78rem;font-weight:800}.add-room-label input{width:7rem;border:1.5px solid #cbd5e1;border-radius:8px;padding:.48rem .6rem;font-size:1rem}.btn-room-action,.btn-room-secondary,.btn-print,.room-edit-actions button{border:none;border-radius:999px;background:#0f2144;color:#fff;padding:.58rem .8rem;font-weight:900;cursor:pointer}.btn-room-secondary,.btn-print{background:#2563eb}.qr-panel{border:1px dashed #94a3b8;border-radius:12px;padding:.75rem;margin-bottom:.85rem;background:#f8fafc}.qr-panel-header{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:.65rem}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.65rem;max-height:380px;overflow:auto}.qr-item{display:flex;flex-direction:column;gap:.25rem;align-items:center;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:.55rem;text-align:center}.qr-item img{width:110px;height:110px}.qr-item small{max-width:100%;color:#64748b;font-size:.65rem;overflow-wrap:anywhere}.room-name-cell{display:inline-flex;align-items:center;gap:.35rem;font-weight:900}.btn-pencil{border:none;background:transparent;color:#2563eb;font-size:1rem;cursor:pointer;padding:.1rem .2rem}.contract-chip{border:none;cursor:pointer}.contract-active,.device-normal{background:#dcfce7;color:#166534}.contract-inactive,.device-excluded{background:#e5e7eb;color:#4b5563}.device-issue{background:#fee2e2;color:#dc2626}.inactive-room-row{opacity:.72}.room-edit-box{display:flex;flex-direction:column;gap:.4rem;min-width:190px}.room-edit-box input{border:1.5px solid #cbd5e1;border-radius:8px;padding:.45rem .55rem}.room-edit-actions{display:flex;gap:.35rem;flex-wrap:wrap}.room-edit-actions button{background:#dc2626;padding:.4rem .6rem;font-size:.78rem}.room-edit-actions button+button{background:#64748b}@media print{.v1-header,.device-summary,.v1-left-column,.room-action-panel,.room-table-wrapper,.qr-panel-header .btn-print{display:none!important}.v1-layout{display:block}.room-device-card{max-width:none;box-shadow:none;border:none}.qr-grid{max-height:none;overflow:visible;grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.v1-layout{grid-template-columns:1fr}.room-device-card{max-width:none}}@media (max-width: 720px){.v1-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-start}.room-stats,.latest-call-row{grid-template-columns:1fr}}.disable-room-label{display:flex;flex-direction:column;gap:.25rem;color:#475569;font-size:.78rem;font-weight:800}.disable-room-label select{max-width:9rem;border:1.5px solid #cbd5e1;border-radius:8px;padding:.48rem .6rem;background:#fff;font-size:.9rem}.btn-disable-room{background:#64748b}.latest-call-answer-warning,.result-warning,.confirm-judging,.pending-judgement-muted{background:#fff7ed!important;color:#c2410c!important}.pending-judgement-muted{display:inline-flex;border-radius:999px;font-size:.9rem;font-weight:800;padding:.45rem .75rem}.v1-dashboard{min-height:100dvh;background:linear-gradient(180deg,#f8fafc,#eef2f7)}.v1-header{min-height:76px;background:linear-gradient(90deg,#061a3d,#0f2a5d 56%,#071b3c);box-shadow:0 6px 18px #0f172a2e}.v1-header .header-left{display:flex;align-items:center;gap:1rem;min-width:0}.v1-header .bell-icon{background:transparent;width:auto;height:auto;font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.v1-header .header-title{font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1;letter-spacing:.02em;white-space:nowrap}.header-separator{color:#e2e8f0;font-size:1.8rem;font-weight:300;opacity:.85}.v1-header .header-facility{margin:0;color:#fff;font-size:clamp(1.15rem,1.8vw,1.75rem);font-weight:900;line-height:1;white-space:nowrap}.v1-header .header-actions{gap:1rem}.v1-header .btn-contact{display:inline-flex;align-items:center;gap:.55rem;border:1.5px solid rgba(255,255,255,.88);border-radius:8px;background:#0f172a2e;color:#fff;padding:.8rem 1.15rem;font-size:1rem;box-shadow:inset 0 0 0 1px #ffffff14}.admin-avatar{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;background:#fff;color:#0f2144;font-size:1.55rem;box-shadow:0 2px 8px #0000002e}.admin-menu{border:none;background:transparent;color:#fff;font-size:1rem;font-weight:900;cursor:pointer;white-space:nowrap}.v1-main{max-width:1320px;padding:1.25rem}.device-summary{gap:.55rem;background:#fff;border:none;color:#111827;box-shadow:0 6px 20px #0f172a1f;font-size:1.05rem;padding:.7rem 1.15rem}.summary-dot{width:.75rem;height:.75rem;border-radius:999px;background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.device-summary-warning .summary-dot{background:#f97316;box-shadow:0 0 0 3px #ffedd5}.v1-card{background:#fffffff0;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 10px 26px #0f172a1c}.v1-layout{grid-template-columns:minmax(0,61fr) minmax(390px,39fr)}.section-title-row{border-bottom:1px solid #e5e7eb;padding-bottom:.7rem}.section-title-row .section-title,.call-log-header h2{color:#0f172a;font-size:1.4rem;font-weight:950}.count-badge{min-width:2.1rem;height:2.1rem;background:#e11d48;font-size:1rem}.scroll-card-body{max-height:305px}.latest-call-row{grid-template-columns:minmax(0,1fr) auto;background:#fff;border:none;border-bottom:1px solid #e5e7eb;border-radius:0;box-shadow:none;padding:.7rem .2rem}.latest-call-alert-icon{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;color:#ef4444;font-size:1.45rem}.latest-call-room,.latest-call-time{font-size:1.08rem;font-weight:800;color:#111827}.latest-call-answer,.log-card-answer{background:transparent!important;color:#1f2937!important;font-size:1rem;padding:0}.latest-call-answer-ok,.log-card-answer-ok{color:#1f2937!important}.latest-call-answer-unhandled,.log-card-answer-unhandled,.result-unhandled{color:#dc2626!important;font-weight:950}.btn-ack-red{border:1.5px solid #ef4444;border-radius:6px;background:#fff!important;color:#ef4444;font-size:.95rem;font-weight:950;padding:.55rem .8rem}.call-log-header{border-bottom:1px solid #e5e7eb;padding-bottom:.65rem}.btn-csv{background:#f97316!important;border-radius:8px;box-shadow:0 6px 14px #f973163d}.call-history-table,.room-device-table{font-size:.98rem}.call-history-table th,.call-history-table td,.room-device-table th,.room-device-table td{padding:.7rem .8rem}.result-ok{background:transparent;color:#1f2937}.confirm-done{background:#e5e7eb;color:#374151}.confirm-waiting{background:#fef3c7;color:#f97316;border:1px solid #fbbf24}.room-device-card{max-width:none}.room-stats{grid-template-columns:1fr;gap:.25rem;margin-bottom:1rem}.room-stats>div{border:none;background:transparent;padding:0;font-size:1.05rem;color:#1f2937}.room-action-panel{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:.75rem}.compact-hidden-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.btn-room-action,.btn-room-secondary,.btn-print,.room-edit-actions button{border-radius:8px;padding:.75rem .9rem;font-size:.98rem;background:#ef233c;color:#fff}.btn-disable-room{background:#fff!important;color:#ef233c!important;border:1.5px solid #ef233c!important}.btn-room-secondary,.btn-print{background:#fff!important;color:#111827!important;border:1.5px solid #94a3b8!important}.room-table-wrapper,.call-history-scroll{border:none;border-radius:0}.room-device-table th,.call-history-table th{background:#f8fafc;color:#111827;font-size:.95rem}.room-name-cell{color:#111827;font-size:1rem}.btn-pencil{color:#0f2144;font-weight:900}.contract-chip,.device-chip{border-radius:6px;border:1px solid transparent;padding:.32rem .7rem}.contract-active,.device-normal{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.contract-inactive,.device-excluded{background:#f3f4f6;border-color:#d1d5db;color:#374151}.device-issue{background:#fff7ed;border-color:#fdba74;color:#f97316}@media (max-width: 920px){.v1-layout{grid-template-columns:1fr}.v1-header .header-left{gap:.65rem}.header-separator{display:none}.room-action-panel{grid-template-columns:1fr}}.connection-note{order:-1;align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;font-size:0!important;font-weight:700}.connection-note .conn-dot{width:8px;height:8px}.connection-note:has(.conn-live):after{content:"記録保存：正常　" attr(data-device-summary);font-size:1rem;font-weight:700;color:#475569}.connection-note:has(.conn-dummy):after{content:"記録保存：未接続　" attr(data-device-summary);font-size:1rem;font-weight:700;color:#475569}.call-log-header{align-items:flex-start}.call-log-export-action{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.call-log-export-action .btn-csv{background:#f97316;color:#fff}.call-log-export-note{margin:0;font-size:.72rem;line-height:1.3;color:#64748b;white-space:nowrap}@media (max-width: 640px){.call-log-header{align-items:flex-start}.call-log-export-action{align-items:flex-end}.call-log-export-note{font-size:.68rem}}
