/* ===== メビテック社内ポータル 共通スタイル ===== */
:root{
  --c-main:#1a5276; --c-sub:#2980b9; --c-bg:#f4f6f8;
  --c-warn-bg:#fdecea; --c-warn-t:#c0392b;
  --c-note-bg:#fdebd0; --c-note-t:#b9770e;
  --c-ok-bg:#e8f8f0; --c-ok-t:#1e8449;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:"Yu Gothic UI","Meiryo","Leelawadee UI","Segoe UI",sans-serif; background:var(--c-bg); color:#2c3e50; padding:16px;}
header.site{background:var(--c-main); color:#fff; padding:14px 20px; border-radius:8px; margin-bottom:14px;
  display:flex; flex-wrap:wrap; align-items:center; gap:12px;}
header.site h1{font-size:20px; flex:1; min-width:180px;}
header.site h1 a{color:#fff; text-decoration:none;}
header.site .sub{font-size:12px; opacity:.85;}
#userBar{display:none; align-items:center; gap:8px; font-size:12px;}
#userBar button{font-size:11px; padding:3px 10px; font-family:inherit; border-radius:6px; border:1px solid #bbb; cursor:pointer; background:#fff;}
/* ロールバッジ（auth.jsが userRole 要素に「管理者/担当者/一般」を入れる） */
.role-badge{display:inline-block; padding:1px 8px; border-radius:10px; font-size:11px; font-weight:bold;
  background:var(--c-note-bg); color:var(--c-note-t);}
.role-badge:empty{display:none;}
footer.site{font-size:11px; color:#888; margin-top:16px; line-height:1.6;}

/* ===== ログイン画面（auth.jsが注入） ===== */
#loginOverlay{position:fixed; inset:0; background:var(--c-bg); z-index:1000; display:flex; align-items:center; justify-content:center;}
.login-box{background:#fff; border-radius:10px; box-shadow:0 4px 16px rgba(0,0,0,.18); padding:28px 32px; width:340px; max-width:92vw;}
.login-box h2{color:var(--c-main); font-size:18px; text-align:center; line-height:1.4; margin:0 0 2px;}
.login-sub{text-align:center; font-size:12px; color:#777; margin-bottom:16px;}
.login-box label{display:block; font-size:12px; color:#555; margin:10px 0 4px;}
.login-box input{width:100%; padding:8px 10px; font-size:14px; border:1px solid #bbb; border-radius:6px; font-family:inherit;}
.login-btn{width:100%; margin-top:16px; background:var(--c-sub); color:#fff; border:none; padding:10px; border-radius:6px; font-size:14px; cursor:pointer;}
.login-btn:hover{filter:brightness(.95);}
.login-link{display:block; text-align:center; font-size:12px; margin-top:12px; color:var(--c-sub);}
.login-error{background:var(--c-warn-bg); color:var(--c-warn-t); font-size:12px; padding:8px 10px; border-radius:6px; margin-bottom:8px;}
.login-info{font-size:12px; color:#555; line-height:1.6; margin-bottom:4px;}
