/* Navicus BI — Portal */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#fff;--text:#1C1917;--sub:#78716C;--border:#E8E5E0;
  --blue:#4F46E5;--green:#0D9488;
}
body{
  font-family:'Noto Sans JP',sans-serif;
  background:#FAF9F7;color:var(--text);
  min-height:100vh;display:flex;align-items:center;justify-content:center;
}

/* ===== ログイン画面 ===== */
.login-card{
  text-align:center;background:var(--bg);
  border-radius:16px;padding:48px 40px 40px;
  width:380px;box-shadow:0 2px 16px rgba(28,25,23,.06);
}
.logo{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px}
.logo-img{width:40px;height:40px;object-fit:contain}
.logo h1{font-size:20px;font-weight:700;text-align:left}
.tagline{font-size:13px;color:var(--sub);margin-bottom:36px}

.google-btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:12px 28px;border:1px solid #E8E5E0;border-radius:8px;
  background:#fff;font-size:14px;font-weight:500;
  cursor:pointer;transition:all .2s;font-family:inherit;color:#1C1917;
}
.google-btn:hover{background:#FAF9F7;box-shadow:0 2px 8px rgba(28,25,23,.08)}
.google-btn svg{flex-shrink:0}

.note{margin-top:24px;font-size:11px;color:#A8A29E}
.auth-error{color:#dc2626;font-size:12px;margin-bottom:16px}

/* ===== ポータル画面 ===== */
.container{width:100%;max-width:520px;padding:32px}

.brand{display:flex;align-items:center;gap:12px;margin-bottom:48px}
.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:10px}
.brand h1{font-size:20px;font-weight:700}
.brand h1 small{display:block;font-size:11px;font-weight:400;color:var(--sub);margin-top:2px}

.section-label{
  font-size:11px;text-transform:uppercase;letter-spacing:.12em;
  color:var(--sub);margin-bottom:12px;font-weight:500;
}

.list{display:flex;flex-direction:column;margin-bottom:40px}
.list-item{
  display:flex;align-items:center;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--border);
  text-decoration:none;color:inherit;transition:padding-left .2s;
}
.list-item:first-child{border-top:1px solid var(--border)}
.list-item:hover{padding-left:8px}

.color-bar{width:4px;height:32px;border-radius:2px;flex-shrink:0}
.list-icon{font-size:18px;width:24px;text-align:center}
.list-body{flex:1}
.list-body h3{font-size:15px;font-weight:600}
.list-body p{font-size:12px;color:var(--sub)}
.list-arrow{color:#D5D1CA;font-size:16px;transition:transform .2s}
.list-item:hover .list-arrow{transform:translateX(4px);color:var(--text)}

.empty-msg{
  text-align:center;padding:48px 0;font-size:14px;
  color:var(--sub);line-height:2;
}

/* ===== ユーザーバー ===== */
.user-bar{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;background:#F3F1EE;border-radius:10px;
  font-size:13px;color:var(--sub);
}
.avatar{
  width:28px;height:28px;border-radius:50%;
  background:#E0E7FF;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;color:var(--blue);flex-shrink:0;
}
.role-badge{
  margin-left:auto;font-family:'JetBrains Mono',monospace;
  font-size:11px;background:#E0E7FF;color:var(--blue);
  padding:2px 8px;border-radius:4px;white-space:nowrap;
}
.logout-link{
  font-size:11px;color:#A8A29E;text-decoration:none;
  margin-left:8px;white-space:nowrap;
}
.logout-link:hover{color:#dc2626}
