/* ログイン画面（Mockup 'login' パネル準拠） */
/* 背景は主色のベタ塗り（temp0.inc の .bare_wrap を上書き） */
.bare_wrap{ background:#1a5fb4; padding:24px; }

.login_card{ background:var(--surface); border-radius:12px; padding:40px 44px; width:min(90vw,420px); box-shadow:0 20px 60px rgba(0,0,0,.3); }

/* ロゴ */
.login_logo{ text-align:center; margin-bottom:32px; }
.login_logo_ic{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px;
	background:var(--accent-bg); border-radius:12px; margin-bottom:12px; }
.login_logo_ic i{ font-size:24px; color:var(--accent); }
.login_title{ font-size:20px; font-weight:700; color:var(--text); }
.login_sub{ font-size:12px; color:var(--muted); margin-top:4px; }

/* フォーム */
.login_form{ display:flex; flex-direction:column; gap:14px; }
.login_field label{ font-size:12px; font-weight:600; color:var(--muted); display:block; margin-bottom:6px; }
.login_input{ position:relative; }
.login_input > i{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--hint); font-size:13px; }
.login_input input{ width:100%; border:1px solid var(--border); border-radius:var(--r); padding:10px 12px 10px 36px;
	font-size:14px; font-family:var(--font); outline:none; box-sizing:border-box; color:var(--text); height:auto; }
.login_input input:focus{ border-color:var(--accent); }
.login_eye{ position:absolute; right:10px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; color:var(--hint); font-size:13px; }

.login_err{ display:flex; align-items:center; gap:8px; background:var(--danger-bg); border-radius:var(--r); padding:8px 12px; font-size:12px; color:var(--danger); }

.login_remember{ display:flex; align-items:center; gap:8px; font-size:13px; cursor:pointer; color:var(--muted); }
.login_remember input{ width:15px; height:15px; cursor:pointer; }

.login_btn{ width:100%; padding:12px; background:var(--accent); color:#fff; border:none; border-radius:var(--r);
	font-size:14px; font-weight:700; font-family:var(--font); cursor:pointer; margin-top:4px;
	display:flex; align-items:center; justify-content:center; gap:8px; transition:opacity .15s; }
.login_btn:hover{ opacity:.88; }

.login_foot{ text-align:center; margin-top:20px; font-size:11px; color:var(--hint); }
