/* 管理画面：見本（admin.css）に無かった部品 */
.gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;}
.gate-box{width:100%;max-width:460px;border:1px solid var(--line);background:var(--panel);padding:32px 28px;}
.gate-box .brand{margin-bottom:24px;}
.gate-box h2{font-size:17px;margin:0 0 8px;}
.gate-box p{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 16px;}
.gate-box .btn{margin-bottom:10px;}
.btn.line{background:#06C755;}
.qr{width:180px;height:180px;display:block;margin:8px 0 12px;border:1px solid var(--line);}
.code-input{width:100%;font-size:22px;letter-spacing:.3em;text-align:center;border:1px solid var(--line);padding:10px;border-radius:2px;margin-bottom:10px;}
.form-error:not(:empty){display:block;}
.secret{font-family:"Zen Kaku Gothic New";font-size:12px;word-break:break-all;color:var(--muted);}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.muted{color:var(--muted);}
.empty{padding:22px 4px;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);}
.field input[type=checkbox]{width:auto;}
.check-line{display:flex;align-items:center;gap:10px;font-size:13px;margin:4px 0;cursor:pointer;}
.check-line input{width:auto;margin:0;}
table.res-table.plain tbody tr{cursor:default;}
.facility-select{width:100%;border:1px solid var(--line);padding:6px 8px;border-radius:2px;background:#fff;font-size:12px;margin-top:4px;}
.sidebar-bottom a + a{margin-top:6px;}
.handle-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:2px;background:#fff;}
.handle-input span{padding:0 4px 0 12px;font-size:13px;color:var(--muted);white-space:nowrap;}
.handle-input input{border:none !important;padding:10px 12px 10px 0 !important;flex:1;min-width:0;background:transparent;}
.handle-input input:focus{outline:none;}
.gate-box [hidden]{display:none !important;}
.totp-setup{margin-top:4px;}
.totp-step{color:var(--text) !important;font-size:13px !important;margin:18px 0 8px !important;}
.totp-step b{margin-right:4px;}
.totp-setup .store-links{margin-bottom:0;}
.totp-setup .qr{display:block;margin:4px 0 8px;}
.totp-setup details.secret summary{cursor:pointer;font-size:12px;color:var(--muted);}
.totp-setup details.secret code{display:block;margin-top:6px;font-size:13px;letter-spacing:.08em;word-break:break-all;color:var(--text);}
.code-input::placeholder{color:#D8D4CA;}
/* 認証アプリのQR：白い台紙に載せて、周りに余白（読み取りやすく・画面になじむように） */
.totp-setup .qr-box{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:4px;padding:12px;margin:4px 0 10px;}
.totp-setup .qr-box .qr{margin:0;border:none;width:180px;height:180px;}
.totp-setup details.secret{margin-bottom:4px;}
