[hidden] { display:none !important; }
.auth-gate { min-height:100svh; display:grid; place-items:center; padding:24px; background:#edf5fd; }
.auth-card { width:min(440px,100%); padding:32px; border-radius:18px; background:white; box-shadow:0 10px 40px #144b8520; }
.auth-brand { background:#2f7fd8; border-radius:12px; padding:18px; margin-bottom:24px; }
.auth-brand img { width:160px; display:block; margin:auto; }
.auth-card h1 { font-size:22px; margin-bottom:10px; }
.auth-card p { font-size:13px; color:#536a7e; line-height:1.8; }
.auth-card form { display:grid; gap:18px; margin-top:24px; }
.auth-card input { width:100%; min-height:44px; padding:10px; border:1px solid #c8d8e7; border-radius:8px; font-size:16px; }
.auth-card label { display:grid; gap:6px; font-size:13px; }
.auth-card button { min-height:44px; }
.auth-links { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }
.shared-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin:12px 0 18px; padding:12px 16px; border-radius:10px; background:#edf6ff; color:#285f9b; font-size:12px; }
.shared-bar .is-error { color:#a23c32; }
.shared-actions { display:flex; gap:8px; }
.legacy-notice { background:#fff4dc; border:1px solid #eddaaa; border-radius:10px; padding:14px; margin-bottom:16px; font-size:13px; line-height:1.8; }
.legacy-reference .map-room { background:#f1f4f7; border-color:#c8d2dc; }
.legacy-reference .mr-status { color:#60748a; }
button:disabled { opacity:.55; cursor:not-allowed; }
.mn-desc, .mn-step-main p, .mn-points li span { white-space:pre-wrap; overflow-wrap:anywhere; }
.mn-item-main b, .mn-title-row h2, .user { overflow-wrap:anywhere; }
.mn-storage { line-height:1.8; }
.mn-storage button { margin-top:8px; }
.mn-list, .mn-detail { min-width:0; }
.drawer-body input, .drawer-body textarea, .drawer-body select { max-width:100%; }
@media(max-width:600px) {
  .auth-card { padding:24px; }
  .shared-actions { width:100%; }
  .shared-actions button { flex:1; min-height:44px; }
  .mn-cats { gap:6px; }
  .mn-cat { min-height:40px; }
  .drawer-body input, .drawer-body textarea, .drawer-body select { font-size:16px; }
}
