/* 등록자동화 화면. 색·크기는 docs/화면-시안.html(D6 승인)을 따른다. 폰 가로 375px 기준 */
:root{
  --leaf:#234B37; --leaf-2:#2F6247; --leaf-soft:#E6EEE8;
  --bg:#F3F5F2; --card:#FFFFFF; --ink:#1C221E; --mute:#69716B; --line:#E1E6E1;
  --ask:#B7791F; --ask-soft:#FCF1DC;   /* 질문 대기 */
  --wait:#2F5FA8; --wait-soft:#E5EDF8; /* 확인 대기 */
  --err:#B83A2E; --err-soft:#F8E4E1;
  --ok:#2F7A4A; --ok-soft:#E3F2E8;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none !important}
html,body{background:var(--bg)}
body{font-family:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:var(--ink);
  -webkit-font-smoothing:antialiased;word-break:keep-all;font-size:15px;line-height:1.45}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
.page{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;
  padding:14px 18px 10px;background:var(--card);border-bottom:1px solid var(--line)}
.brand{font-family:"Grandiflora One",Georgia,serif;font-size:21px;color:var(--leaf);-webkit-text-stroke:.5px currentColor}
.bar .who{font-size:12.5px;color:var(--mute)}
.title{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:14px 18px 10px;
  background:var(--card);border-bottom:1px solid var(--line)}
.title b{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.title .back{font-size:22px;color:var(--mute);padding:0 4px}
.body{flex:1;padding:14px 14px 96px}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;max-width:480px;margin:0 auto;display:grid;
  grid-template-columns:repeat(3,1fr);background:var(--card);border-top:1px solid var(--line);
  padding:6px 0 calc(10px + env(safe-area-inset-bottom))}
.tabs a{text-align:center;font-size:11.5px;color:var(--mute)}
.tabs a i{display:block;font-style:normal;font-size:19px;line-height:1.3}
.tabs .on{color:var(--leaf);font-weight:700}
.tabs .plus i{width:40px;height:40px;margin:-14px auto 2px;border-radius:50%;background:var(--leaf);color:#fff;line-height:40px;font-size:24px}
.sticky{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));padding:10px 0 14px;background:linear-gradient(transparent,var(--bg) 30%)}
.btn{display:block;width:100%;padding:14px;border:0;border-radius:12px;background:var(--leaf);color:#fff;
  font-weight:700;font-size:16px;text-align:center;cursor:pointer}
.btn.ghost{background:var(--card);color:var(--leaf);border:1.5px solid var(--leaf)}
.btn.small{padding:10px;font-size:14px}
.btn:disabled{background:#B9C2BC;cursor:default}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.card{background:var(--card);border-radius:14px;padding:14px;margin-bottom:10px}
.lbl{display:block;font-size:12.5px;font-weight:700;color:var(--mute);margin-bottom:6px}
.field{display:block;width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px;background:#fff}
.field:focus{outline:2px solid var(--leaf-soft);border-color:var(--leaf)}
.hint{font-size:12px;color:var(--mute);margin-top:6px;line-height:1.5}
.chip{display:inline-block;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}
.c-asking{background:var(--ask-soft);color:var(--ask)} .c-review{background:var(--wait-soft);color:var(--wait)}
.c-error,.c-stopped{background:var(--err-soft);color:var(--err)} .c-done{background:var(--ok-soft);color:var(--ok)}
.c-running,.c-queued,.c-registering,.c-draft{background:var(--leaf-soft);color:var(--leaf)} .c-gray{background:#ECEEEC;color:#5f665f}
.errors{background:var(--err-soft);color:var(--err);border-radius:12px;padding:12px 14px;margin-bottom:10px;font-size:14px}
.errors li{margin-left:18px}
.notice{background:var(--leaf-soft);color:var(--leaf);border-radius:12px;padding:12px 14px;margin-bottom:10px;font-size:14px}

/* 1 로그인 */
.login{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 28px;background:linear-gradient(170deg,#F3F5F2 55%,#E3ECE5)}
.login .brand{font-size:44px;text-align:center}
.login p.sub{text-align:center;color:var(--mute);font-size:13.5px;margin:6px 0 34px}

/* 2 목록 */
.banner{display:flex;justify-content:space-between;align-items:center;background:var(--ask-soft);color:var(--ask);border-radius:12px;padding:12px 14px;font-weight:700;font-size:14px;margin-bottom:10px}
.banner.err{background:var(--err-soft);color:var(--err)}
.banner.err small{font-weight:400;display:block;margin-top:2px}
.filters{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto;scrollbar-width:none}
/* 9 설정 — 연결 점검 */
.checks .ck{font-size:12.5px;font-weight:700;text-align:right;max-width:58%}
.ck-ok{color:var(--ok)} .ck-warn{color:var(--ask)} .ck-err{color:var(--err)}
.filters a{flex:none;padding:6px 11px;border-radius:20px;background:#fff;border:1px solid var(--line);font-size:12.5px;color:var(--mute)}
.filters .on{background:var(--ink);color:#fff;border-color:var(--ink)}
.job{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center}
.thumb{width:56px;height:56px;border-radius:10px;background:#cfd8d0 center/cover;object-fit:cover}
.job b{display:block;font-size:15px}
.job small{display:block;font-size:12px;color:var(--mute);margin-top:3px}
.mk{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:11.5px;color:var(--mute)}
.empty{text-align:center;color:var(--mute);padding:40px 0;font-size:14px}

/* 3 입력 */
.opt{display:grid;grid-template-columns:1fr 92px 64px;gap:6px;align-items:center;margin-top:6px}
.opt .field{padding:8px 9px;font-size:15px}
.checks{display:flex;gap:16px;flex-wrap:wrap}
.checks label{display:flex;gap:6px;align-items:center;font-size:15px}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#E7EBE7;border-radius:10px;padding:3px}
.seg label{text-align:center;padding:8px 4px;font-size:13px;color:var(--mute);border-radius:8px;cursor:pointer}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg label:has(input:focus-visible){outline:2px solid var(--leaf)}
.seg label:has(input:checked){background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.preview{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.preview img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}

/* 4 진행 */
.steps{list-style:none}
.steps li{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;padding:7px 0;font-size:14px;border-bottom:1px solid #F0F2EF}
.steps li:last-child{border-bottom:0}
.dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff}
.d-done{background:var(--ok)} .d-running{background:#fff;border:3px solid var(--leaf)}
.d-asking{background:#fff;border:3px solid var(--ask)} .d-error{background:var(--err)} .d-todo{background:#E2E6E2}
.steps .muted{color:#9aa29c}
.q{background:var(--ask-soft);border-radius:14px;padding:14px;margin-bottom:10px}
.q b{display:block;font-size:14.5px;line-height:1.5;color:#5b3d07}
.q .opts{display:grid;gap:6px;margin-top:10px}
.q .opts button{background:#fff;border-radius:10px;padding:10px 12px;font-size:14px;border:1px solid #EBD9B4;text-align:left;cursor:pointer}
.q .own{display:grid;grid-template-columns:1fr auto;gap:6px}
.err-box{background:var(--err-soft);border-radius:14px;padding:14px;margin-bottom:10px;color:var(--err)}
.res{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:6px 0}
.res small{font-size:12px;color:var(--mute)}
.log{font-size:12.5px;color:var(--mute)}
.log li{list-style:none;padding:3px 0;border-bottom:1px solid #F0F2EF}

/* 9 설정 */
.menu div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.menu div:last-child{border-bottom:0}
.menu small{color:var(--mute);font-size:12.5px}
.detail-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.detail-strip a{position:relative;display:block;aspect-ratio:860/1300;overflow:hidden;border-radius:6px;border:1px solid var(--line);background:#fff}
.detail-strip img{width:100%;height:100%;object-fit:cover;object-position:top}
.detail-strip span{position:absolute;left:4px;bottom:4px;font-size:10.5px;font-weight:700;background:rgba(28,34,30,.7);color:#fff;padding:1px 5px;border-radius:5px}
.sfield{padding:8px 0;border-bottom:1px solid #F0F2EF}
.sfield:last-child{border-bottom:0}
.sfield.ex .field{background:#FFF8D6;border-color:#E8D27A}
.sfoot{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.sfoot .ok{display:flex;gap:5px;align-items:center;font-size:12.5px;color:var(--ask)}
.cnt{font-size:11.5px;color:var(--mute)}
.cnt.over{color:var(--err);font-weight:700}
textarea.field{resize:vertical;line-height:1.5}
.link-sm{font-size:13px;font-weight:700;color:var(--leaf)}
/* 5·6 확인 대기 */
.todo{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.blk-row{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:start}
.blk-thumb{display:block;width:64px;height:84px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.blk-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.blk-row b{font-size:14px}
.acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.acts a,.acts button{font-size:12px;padding:5px 9px;border-radius:8px;border:1px solid var(--line);color:var(--ink);background:#fff;cursor:pointer}
.acts form{display:inline}
.accent-row{display:flex;gap:10px;align-items:center}
.accent-row input[type=color]{width:48px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff}
.accent-row .btn{width:auto}
.blk-preview{display:block;padding:6px}
.blk-preview img{width:100%;display:block;border-radius:6px}
.issue{display:flex;gap:8px;font-size:13.5px;line-height:1.5;padding:7px 0;border-bottom:1px solid #F0F2EF}
.issue:last-child{border-bottom:0}
.ai-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
