/* 로그인·홈·어드민·오류 페이지 전용 레이아웃. 토큰과 공용 컴포넌트는 plan.css를 그대로 씀 */
.loading{color:var(--muted);font-size:13px}
.page-auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.auth-wrap{width:min(440px,100%)}
.auth-brand{margin-bottom:18px}
.auth-brand h1{margin:4px 0 6px;font-size:26px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
.auth-brand .note{margin:0}
.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px 22px 22px}
.auth-card .tabs{padding:0 0 16px}
.auth-card form{display:flex;flex-direction:column;gap:12px}
.auth-card .field .inp{padding:9px 12px;font-size:14px}
.auth-card .btn.primary{justify-content:center;padding:9px 14px;font-size:14px}
.auth-card .btn:disabled{opacity:.55;cursor:default}
.auth-card p{margin:0;font-size:13.5px}
.auth-foot{margin-top:16px;text-align:center}
.code-input{font-family:var(--mono);font-size:24px;letter-spacing:8px;text-align:center}
.okbox{font-size:12.5px;border-radius:8px;padding:8px 12px;border:1px solid var(--know);color:var(--know);background:var(--know-bg)}
.sub-actions{display:flex;gap:6px 14px;flex-wrap:wrap;justify-content:space-between;font-size:13px}
.sub-actions .linkbtn{margin-left:0}

/* ---------- 홈 ---------- */
.home-h{display:flex;align-items:flex-end;gap:12px 20px;flex-wrap:wrap;margin-bottom:22px}
.home-h h1{margin:4px 0 0;font-size:26px;font-weight:700;letter-spacing:-.01em}
.home-h .grow{flex:1}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.card-link{display:block;text-decoration:none;color:inherit}
.card-link .panel{padding:18px 20px;height:100%}
.card-link .panel:hover{border-color:var(--accent)}
.card-link h2{margin:0 0 6px;font-size:16px}
.card-link .mono{font-size:12px;color:var(--muted)}
.notice-box{background:var(--add-bg);border:1px solid var(--add);border-radius:12px;padding:16px 18px;font-size:14px}
.notice-box b{color:var(--add)}

/* ---------- 어드민 ---------- */
.adm-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}
.adm-tabs button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:4px 14px;font-size:13px;color:var(--ink)}
.adm-tabs button:hover{border-color:var(--accent)}
.adm-tabs button[aria-selected="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}
.form-row{display:flex;gap:8px 10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}
.form-row .field{min-width:160px}
.form-row .field.wide{flex:1;min-width:220px}
.tbl.compact{min-width:0}
.tbl td.actions{white-space:nowrap}
.tbl .inp.sm{padding:3px 8px;font-size:12.5px}
.tbl .muted{color:var(--muted);font-size:12.5px}
.tbl .chk{color:var(--ink)}
.tbl tr.inactive td{color:var(--faint)}
.sec{margin-top:22px}
.sec h3{margin:0 0 10px;font-size:15px}
.hist li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:7px 0;border-top:1px solid var(--line-2);font-size:13px}
.hist li:first-child{border-top:0}
.hist .mono{font-size:12px;color:var(--muted)}
.pill.on{--c:var(--know)}
.pill.off{--c:var(--faint)}
@media (max-width:760px){
  .home-h h1{font-size:22px}
  .auth-card{padding:16px}
}

/* ---------- 어드민: AI 작업 이력 ---------- */
.ai-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 20px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:6px;font-size:13px}
.ai-settings .k{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}
.ai-settings .prov{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ai-settings .muted{color:var(--muted);font-size:12px;margin-top:4px}
.tbl tr.clickable{cursor:pointer}
.tbl td.req{max-width:280px;white-space:normal;word-break:break-word;font-size:13px}
.pager{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:12.5px;color:var(--muted)}
.pager .btn:disabled{opacity:.5;cursor:default}
.ai-detail dl{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;margin:0;font-size:13px}
.ai-detail dt{color:var(--muted);font-weight:600}
.ai-detail dd{margin:0;min-width:0}
.ai-detail pre{background:var(--soft-2);border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;font-size:12px;overflow:auto;max-height:240px;margin:0;white-space:pre-wrap;word-break:break-word}
