.app-gate { min-height:100dvh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; color:#314a3d; background:#f4f7f5; text-align:center; }
.app-gate>strong { color:#183f33; font-size:26px; letter-spacing:.08em; }
.app-gate>p { max-width:32rem; margin:0; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.app-gate-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.login-branch-choice { min-width:0; padding:0; margin:0; border:0; }
.login-branch-choice legend { margin-bottom:7px; padding:0; color:#314a3d; font-size:14px; font-weight:700; }
.login-branch-choice>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.login-dialog .login-branch-choice label { position:relative; display:block; cursor:pointer; }
.login-dialog .login-branch-choice input { position:absolute; width:1px; height:1px; margin:0; padding:0; border:0; clip-path:inset(50%); overflow:hidden; }
.login-branch-choice span { display:block; padding:11px 10px; border:1px solid #cddbd1; border-radius:10px; background:#fbfdfb; color:#314a3d; text-align:center; line-height:1.4; }
.login-branch-choice input:checked+span { color:#135741; border-color:#176958; background:#e7f2ec; box-shadow:inset 0 0 0 1px #176958; }
.login-branch-choice input:focus-visible+span { outline:2px solid #176958; outline-offset:3px; }
.side-property .branch-select { width:100%; min-width:0; margin-top:6px; padding:8px 24px 8px 8px; color:var(--ink,#123e42); background:#fff; border:1px solid #b9cec8; border-radius:7px; font:inherit; font-weight:600; }
.branch-select:focus-visible { outline:2px solid #176958; outline-offset:2px; }
.active-branch-label { display:inline-flex; margin:0 0 6px; padding:2px 8px; border:1px solid #c4d9d1; border-radius:5px; color:#235a4c; background:#eaf3ee; font-size:11px; font-weight:650; line-height:1.5; }
[data-branch-hidden] { display:none !important; }
.side-brand small { font-size:8px; letter-spacing:0; }
@media(max-width:480px){
 .schedule-toolbar { flex-wrap:wrap; }
 .schedule-toolbar .month { flex-shrink:0; }
 .schedule-toolbar .month strong { white-space:nowrap; }
 .schedule-toolbar .schedule-actions { margin-left:auto; }
}
