/* ═══════════════════════════════════════════════════════════════
   WORKER.CAB Design System v3 — Ivory / Olive · Pretendard + Noto Serif KR
   ═══════════════════════════════════════════════════════════════ */
:root{
  --bg:#f5f2ea;--bg2:#ede9de;--paper:#fffdf8;--card:#ffffff;--line:#e4dfd2;--line2:#d5cfbf;
  --tx:#1c211a;--tx2:#3f463b;--mut:#7a8074;--mut2:#a4a99d;
  --ac:#546539;--ac2:#8a9a5b;--acs:#eef1e3;--acs2:#dfe5cc;
  --ok:#3d7a4f;--oks:#e6f1e8;--warn:#b07d1f;--warns:#f8efd9;--bad:#b3433a;--bads:#f9e4e1;--info:#3b6b8f;--infos:#e5eef5;
  --r:14px;--r2:20px;--sh:0 1px 2px #1c211a08,0 8px 24px #1c211a0a;--sh2:0 2px 4px #1c211a0a,0 18px 44px #1c211a12;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--serif:"Noto Serif KR",serif;--sans:Pretendard,-apple-system,"Malgun Gothic",sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
html,body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:radial-gradient(1400px 700px at 100% -10%,#dfe5cc66,transparent 60%),radial-gradient(900px 500px at -10% 100%,#efe6d266,transparent 60%),var(--bg)}
a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}
::selection{background:var(--acs2)}
main.wrap{animation:fadein .35s ease both}@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── 상단 내비 ── */
.top{display:flex;align-items:center;gap:26px;padding:0 32px;height:62px;border-bottom:1px solid var(--line);background:#fffdf8d9;backdrop-filter:saturate(1.4) blur(14px);position:sticky;top:0;z-index:30}
.brand{font-weight:800;letter-spacing:3px;font-size:17px;color:var(--tx)}.brand span{color:var(--ac2)}
.top nav{display:flex;gap:2px;flex:1;height:100%;align-items:stretch}.top nav a{display:flex;align-items:center;padding:0 14px;color:var(--mut);font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}
.top nav a.on{color:var(--ac);border-color:var(--ac)}.top nav a:hover{color:var(--tx);text-decoration:none}.top nav a.super{color:var(--warn)}.top nav a.super.on{border-color:var(--warn)}
.me{color:var(--mut);display:flex;gap:12px;align-items:center;font-size:13.5px}.me b{color:var(--tx);font-weight:700}.me small{color:var(--mut2)}
.wrap{max-width:1280px;margin:0 auto;padding:32px 28px 72px}
.foot{text-align:center;color:var(--mut2);font-size:12px;padding:36px;letter-spacing:.3px}

/* ── 타이포 ── */
h1{font-family:var(--serif);font-size:27px;font-weight:700;margin:0 0 6px;letter-spacing:-.4px;line-height:1.3}
h2{font-family:var(--serif);font-size:19px;font-weight:700;margin:30px 0 12px}
h1 small,h2 small{font-family:var(--sans);color:var(--mut);font-weight:500;font-size:13.5px;margin-left:10px;letter-spacing:0}
.sub{color:var(--mut);margin:0 0 22px;font-size:14.5px;max-width:900px}
.muted{color:var(--mut)}.small{font-size:12.5px}.danger{color:var(--bad)}.mono{font-family:var(--mono);font-size:12.5px}
.eyebrow{letter-spacing:4px;font-size:11.5px;color:var(--ac2);font-weight:700;text-transform:uppercase;margin:0 0 10px}

/* ── 레이아웃 ── */
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.right{margin-left:auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);padding:22px 24px;box-shadow:var(--sh);transition:box-shadow .2s}
.card:hover{box-shadow:var(--sh2)}
.card h3{margin:0 0 14px;font-size:15.5px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card h3 small{font-weight:500;color:var(--mut);font-size:12.5px}
.card .k{color:var(--mut);font-size:12.5px}.card .v{font-size:22px;font-weight:800;font-family:var(--mono)}
.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 14px;font-size:13.5px}.kv div:nth-child(odd){color:var(--mut)}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:8px 0 22px;overflow-x:auto}.tabs a{padding:11px 16px;color:var(--mut);font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs a.on{color:var(--ac);border-color:var(--ac)}.tabs a:hover{text-decoration:none;color:var(--tx)}

/* ── 배지/상태 ── */
.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.2px;background:var(--bg2);color:var(--tx2);border:1px solid var(--line2);white-space:nowrap}
.badge.ok{background:var(--oks);color:var(--ok);border-color:#c5dccb}.badge.warn{background:var(--warns);color:var(--warn);border-color:#e6d3a3}.badge.bad{background:var(--bads);color:var(--bad);border-color:#ecc3bd}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--line2)}.dot.on{background:var(--ok);box-shadow:0 0 0 4px #3d7a4f22}.dot.off{background:var(--bad);box-shadow:0 0 0 4px #b3433a22}
.live{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:11.5px;letter-spacing:1px;color:var(--ok);background:var(--oks);border:1px solid #c5dccb;border-radius:999px;padding:2px 10px;white-space:nowrap}.live .dot.on{animation:livepulse 1.6s infinite}
@keyframes livepulse{0%{box-shadow:0 0 0 0 #3d7a4f55}70%{box-shadow:0 0 0 8px #3d7a4f00}100%{box-shadow:0 0 0 0 #3d7a4f00}}
.mounted{display:inline-block;font-size:11px;font-weight:700;color:var(--ac);background:var(--acs);border:1px solid var(--acs2);border-radius:6px;padding:1px 6px;animation:mountpulse 2.4s ease-in-out infinite}@keyframes mountpulse{0%,100%{opacity:1}50%{opacity:.5}}
.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--line2);border-top-color:var(--ac);border-radius:50%;animation:rot .8s linear infinite;vertical-align:middle;margin-right:6px}@keyframes rot{to{transform:rotate(360deg)}}

/* ── 버튼 ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:11px;background:var(--ac);color:#fff;border:1px solid transparent;font-weight:700;cursor:pointer;font-size:13.5px;font-family:inherit;line-height:1.2;box-shadow:0 1px 2px #1c211a1a,inset 0 1px 0 #ffffff22;transition:.15s;white-space:nowrap}
.btn:hover{background:#465532;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px #54653933}.btn:active{transform:none}
.btn.sm{padding:5px 11px;font-size:12px;border-radius:9px}.btn.lg{padding:13px 24px;font-size:15px;border-radius:13px}
.btn.ghost{background:#fff;color:var(--tx2);border-color:var(--line2);box-shadow:none}.btn.ghost:hover{background:var(--acs);color:var(--ac);border-color:var(--acs2);box-shadow:none}
.btn.ok{background:var(--ok)}.btn.ok:hover{background:#316541}.btn.warn{background:var(--warn)}.btn.warn:hover{background:#96691a}.btn.bad{background:var(--bad)}.btn.bad:hover{background:#96362f}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

/* ── 폼 ── */
.form{display:grid;gap:14px}.form label{display:grid;gap:6px;color:var(--tx2);font-size:13px;font-weight:600}
input,select,textarea{width:100%;padding:10px 13px;border-radius:11px;border:1px solid var(--line2);background:#fff;color:var(--tx);font-size:14.5px;font-family:inherit;transition:.15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ac2);box-shadow:0 0 0 4px #8a9a5b26}
input::placeholder{color:var(--mut2)}textarea{min-height:120px;font-family:var(--mono);font-size:13px;line-height:1.5}
.pick-title{font-size:12.5px;font-weight:700;color:var(--mut);margin:10px 0 6px;letter-spacing:.3px}
.pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.pick-wide{grid-template-columns:1fr}
.pick .opt{display:flex;flex-direction:column;gap:3px;border:1.5px solid var(--line);border-radius:13px;padding:11px 13px;cursor:pointer;background:#fff;position:relative;color:var(--tx);transition:.15s}
.pick .opt:hover{border-color:var(--line2);box-shadow:var(--sh)}.pick .opt input{position:absolute;opacity:0;width:0;height:0}.pick .opt b{font-size:14px}.pick .opt span{font-size:12.5px;color:var(--mut)}
.pick .opt:has(input:checked){border-color:var(--ac);background:var(--acs);box-shadow:0 0 0 3px #8a9a5b26}.pick .opt:has(input:disabled){opacity:.45;cursor:not-allowed}
.pick .opt .cap{margin-top:6px;font-size:13px;color:var(--tx)}.pick .opt .cap.ok b{color:var(--ok)}.pick .opt .cap.bad b{color:var(--bad)}
.container-overview{margin:0 0 16px;padding:18px 20px;border:1px solid #ded9ca;border-radius:18px;background:linear-gradient(135deg,#293329 0,#46533d 52%,#65734c 100%);color:#fff;box-shadow:0 12px 30px #25301e22}.codash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.codash-head h3{margin:0 0 3px;font-size:17px}.codash-head p{margin:0;color:#ffffffb5;font-size:12.5px}.codash-totals{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.codash-totals span{display:flex;align-items:baseline;gap:5px;padding:6px 10px;border:1px solid #ffffff2e;border-radius:10px;background:#ffffff12;color:#ffffffc7;font-size:11.5px}.codash-totals b{color:#fff;font-size:16px}.codash-companies{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:7px}.codash-company{min-width:0;padding:10px 11px;text-align:left;border:1px solid #ffffff26;border-radius:12px;background:#ffffff0e;color:#fff;cursor:pointer;font-family:inherit;display:grid;grid-template-columns:1fr auto;gap:3px 8px;transition:.15s}.codash-company:hover,.codash-company.on{background:#fff;color:#293329;border-color:#fff;transform:translateY(-1px);box-shadow:0 7px 16px #17201633}.codash-code{font-family:var(--mono);font-weight:800}.codash-code small{font-family:var(--sans);opacity:.7}.codash-name{grid-column:1/3;font-size:11.5px;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codash-num{font-size:12px;font-weight:700}.codash-num b{font-size:18px}.codash-num i{font-style:normal;color:#b9e5c2;margin-left:4px}.codash-company:hover .codash-num i,.codash-company.on .codash-num i{color:var(--ok)}.codash-cli{grid-column:1/3;font-size:10.5px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codash-workers{grid-column:1/3;display:flex;gap:4px;flex-wrap:wrap}.codash-workers i{font-style:normal;font-family:var(--mono);font-size:10.5px;padding:2px 6px;border-radius:999px;background:#ffffff1b}.codash-company:hover .codash-workers i,.codash-company.on .codash-workers i{background:var(--acs)}.codash-workers i.none{opacity:.55}.container-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.container-filters .cf{border:1px solid var(--line2);border-radius:999px;padding:7px 11px;background:#fff;color:var(--tx2);font-family:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:.15s}.container-filters .cf:hover{border-color:var(--ac2);background:var(--acs)}.container-filters .cf.on{border-color:var(--ac);background:var(--ac);color:#fff;box-shadow:0 3px 9px #4655322b}.container-filters .cf b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:#00000010;font-size:10px}.container-filters .cf.on b{background:#ffffff25}.container-filter-note{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px dashed #bec7ad;border-radius:10px;background:#f7f9f2;font-size:12px;color:var(--mut)}.container-filter-note b{color:var(--ac)}.container-worker-pick .wopt{min-height:72px}.container-worker-pick .wopt .wfilter-state{display:block;margin-top:4px;font-style:normal;font-size:11.5px;font-weight:750;color:var(--mut)}.container-worker-pick .wopt.filter-ready{border-color:#75a17a;background:#f4fbf5;box-shadow:inset 0 0 0 1px #75a17a22}.container-worker-pick .wopt.filter-ready .wfilter-state{color:var(--ok)}.container-worker-pick .wopt.filter-partial{border-color:#c49842;background:#fffaf0}.container-worker-pick .wopt.filter-partial .wfilter-state{color:#946618}.container-worker-pick .wopt.filter-off{opacity:.38;filter:grayscale(.72);border-style:dashed;box-shadow:none;cursor:not-allowed}.container-worker-pick .wopt.filter-off:hover{box-shadow:none}.copt .exists{display:none;margin-top:4px;font-style:normal;font-size:11px;color:var(--warn)}.copt.has .exists{color:var(--bad);font-weight:700}.copt small{font-weight:500;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--tx2);font-weight:600;transition:.12s}.chip.on{background:var(--ac);color:#fff;border-color:var(--ac)}.chip:hover{border-color:var(--ac2)}
.cchip{--c:var(--ac);display:inline-block;position:relative;padding:1px 9px;border-radius:999px;font-family:var(--mono);font-size:11.5px;font-weight:700;color:#fff;background:var(--c);cursor:default;margin:1px;box-shadow:inset 0 -1px 0 #0002}
.cchip::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 7px);background:#1c211a;color:#fff;font-family:var(--sans);font-weight:500;font-size:12px;padding:6px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(4px);transition:.15s;z-index:20;box-shadow:0 8px 22px #0004}.cchip:hover::after{opacity:1;transform:none}

/* ── 표 ── */
table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
th{color:var(--mut);font-weight:700;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;padding:9px 10px;border-bottom:1px solid var(--line2);text-align:left;background:#faf8f2}
td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}tr:hover td{background:#faf8f2}
.wtbl td{vertical-align:top}.wtbl .badge{white-space:nowrap}.wlink{color:var(--tx)}.wlink:hover{color:var(--ac);text-decoration:none}
tr.hl td{background:#fff8dc!important;box-shadow:inset 0 0 0 2px var(--warn);animation:hlpulse 1.2s ease-in-out 8}@keyframes hlpulse{0%,100%{box-shadow:inset 0 0 0 2px var(--warn)}50%{box-shadow:inset 0 0 0 4px #b07d1f55}}

/* ── 알림/안내 ── */
.flash{padding:12px 16px;border-radius:12px;margin:0 0 18px;border:1px solid;font-size:14px}.flash.ok{background:var(--oks);border-color:#c5dccb;color:var(--ok)}.flash.bad{background:var(--bads);border-color:#ecc3bd;color:var(--bad)}.flash.warn{background:var(--warns);border-color:#e6d3a3;color:var(--warn)}
.tip{background:var(--acs);border:1px dashed #b9c49a;padding:12px 14px;border-radius:12px;color:#44502a;font-size:13.5px}.tip code,.step code{font-family:var(--mono);background:#fff;padding:1px 6px;border-radius:6px;color:#5a3d0c;border:1px solid var(--line)}
.provblock{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0;background:#fff}.provblock.has{border-color:#c5dccb;background:#fbfdf8}.provblock.none{border-style:dashed;background:#faf8f2}
.emptybox{border:1px dashed var(--line2);border-radius:12px;padding:16px;color:var(--mut);text-align:center;font-size:13.5px}
.prov{display:flex;gap:10px;flex-wrap:wrap}.prov .p{border:1px solid var(--line);border-radius:13px;padding:11px 13px;min-width:150px;background:#fff;flex:1}.prov .p b{display:block;margin-bottom:4px;font-size:13.5px}
pre.log{background:#1c211a;color:#e6e8dd;border-radius:12px;padding:12px 14px;font-family:var(--mono);font-size:12px;max-height:360px;overflow:auto;white-space:pre-wrap;line-height:1.5}
.term{height:calc(100vh - 160px);border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:#000;box-shadow:var(--sh2)}.term iframe{width:100%;height:100%;border:0}
.empty{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:36px;box-shadow:var(--sh2)}.empty img{border-radius:18px;aspect-ratio:3/2;object-fit:cover}.empty h2{margin:0 0 10px}.empty p{color:var(--tx2)}

/* ── 모달/진행 ── */
.modal{position:fixed;inset:0;background:#1c211a8c;display:grid;place-items:center;z-index:50;padding:20px;animation:fadein .2s}
.modal-box{background:var(--paper);border-radius:22px;padding:28px 30px;width:min(660px,100%);max-height:90vh;overflow:auto;position:relative;box-shadow:0 40px 100px #0008;border:1px solid var(--line)}
.modal-x{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--mut)}.modal h3{margin:0 0 14px;font-size:20px;font-family:var(--serif)}
.step-box{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:12px 0}.step-box b{display:inline-block;margin-bottom:8px;color:var(--ac)}
.step-box.now{border-color:var(--ac2);background:#fff;animation:pulse 1.8s infinite}.step-box.now b{color:#fff;background:var(--ac);padding:2px 10px;border-radius:999px}
@keyframes pulse{0%{box-shadow:0 0 0 0 #8a9a5b66}70%{box-shadow:0 0 0 12px #8a9a5b00}100%{box-shadow:0 0 0 0 #8a9a5b00}}
@keyframes glow{0%,100%{border-color:var(--ac2);box-shadow:0 0 0 3px #8a9a5b33}50%{border-color:var(--ac);box-shadow:0 0 0 6px #8a9a5b22}}input.glow{animation:glow 1.4s infinite;border-width:2px}
.usercode{font-family:var(--mono);font-size:30px;letter-spacing:4px;font-weight:700;background:#fff;border:2px dashed var(--ac2);border-radius:12px;padding:12px;text-align:center;margin:8px 0}
.stepper{list-style:none;padding:0;margin:12px 0;display:flex;gap:8px}.stepper li{flex:1;padding:10px 12px;border-radius:12px;background:var(--bg2);color:var(--mut);font-size:13px;border:1px solid var(--line);text-align:center}.stepper li.now{background:#fff;border-color:var(--ac2);color:var(--tx);animation:pulse 1.8s infinite}.stepper li.done{background:var(--acs);color:var(--ac);border-color:var(--acs2)}.stepper li.done::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ac);margin-right:7px;vertical-align:middle}
.eta{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}.bar{height:8px;background:#e2ddce;border-radius:999px;overflow:hidden;margin:8px 0 4px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--ac2),var(--ac));border-radius:999px;transition:width 1s;position:relative}.bar i::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff5,transparent);animation:shimmer 1.6s infinite}@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.pw{position:relative;display:block}.pw input{padding-right:52px}.pw .eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:20px;cursor:pointer;padding:4px 6px}
.otp{letter-spacing:8px;font-size:26px;text-align:center;font-family:var(--mono)}

/* ── 로그인 ── */
.login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr}.login-art{position:relative;overflow:hidden;background:#3d4a27}.login-art img{width:100%;height:100%;object-fit:cover;opacity:.94;transform:scale(1.02);animation:kb 24s ease-in-out infinite alternate}@keyframes kb{to{transform:scale(1.08)}}
.login-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#1c211a99)}
.login-cap{position:absolute;left:5vw;bottom:6vh;color:#fff;z-index:2}.login-cap .lbrand{color:#fff;font-size:34px;display:block;letter-spacing:4px}.login-cap p{margin:6px 0 0;letter-spacing:4px;font-size:12px;opacity:.85;text-transform:uppercase}
.login-pane{display:grid;place-items:center;padding:40px 24px;background:radial-gradient(800px 500px at 20% 0%,var(--acs),transparent 60%),var(--bg)}
.login .card{width:min(460px,100%);padding:40px 38px;border-radius:26px;box-shadow:var(--sh2);position:relative}.login .brand{font-size:30px;display:block;margin:10px 0 6px;font-family:var(--serif);letter-spacing:0}.login p{color:var(--mut)}.backhome{font-weight:700;font-size:13px;color:var(--mut)}

/* ── 랜딩 ── */
.landing{font-size:16px;min-height:100vh;overflow-x:hidden}.landing .lnav{display:flex;align-items:center;justify-content:space-between;padding:14px max(24px,5vw);position:sticky;top:0;background:#f8f6f0ed;backdrop-filter:blur(16px);z-index:10;border-bottom:1px solid #27341f14}.lbrand{font-weight:800;letter-spacing:3px;font-size:20px;color:var(--tx)}.lbrand span{color:var(--ac2)}.lnav nav{display:flex;gap:22px;align-items:center}.lnav nav a{color:var(--tx);font-weight:600}.lnav nav a.btn{color:#fff}
.landing .hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(36px,5vw,76px);align-items:center;padding:clamp(54px,8vh,96px) max(24px,5vw) 46px;max-width:1320px;margin:0 auto}.hero-txt{min-width:0}.hero h1{font-size:clamp(38px,4.2vw,60px);line-height:1.15;margin:0 0 22px}.hero h1 em{font-style:normal;color:var(--ac);border-bottom:6px solid var(--acs2)}.lead{font-size:17.5px;line-height:1.75;color:var(--tx2);max-width:540px;margin:0 0 28px}.cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-img{min-width:0;padding:10px;background:#fff;border:1px solid #27341f12;border-radius:32px;box-shadow:0 28px 70px #2e3a1f1c}.hero-img img{display:block;width:100%;height:auto;border-radius:23px;aspect-ratio:3/2;object-fit:cover}
.lsec{padding:9vh 5vw}.lwrap{max-width:1180px;margin:0 auto}.landing .gallery{padding:24px max(24px,5vw) 64px}.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gal img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;border:5px solid #fff;box-shadow:0 12px 30px #24301d12}
.lfoot{text-align:center;color:var(--mut2);font-size:12.5px;padding:30px 5vw}

@media(max-width:900px){.landing .hero{grid-template-columns:1fr;padding-top:44px}.hero-img{max-width:720px}.gal{grid-template-columns:repeat(2,minmax(0,1fr))}.lnav nav a:not(.btn){display:none}.top{height:auto;flex-wrap:wrap;gap:8px;padding:10px 14px}.top nav{order:3;width:100%;overflow-x:auto;height:40px}.wrap{padding:18px 12px 60px}.kv{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login-art{height:30vh}.empty{grid-template-columns:1fr}.stepper{flex-direction:column}}
@media(max-width:560px){.landing .lnav{padding:11px 16px}.landing .hero{padding:34px 16px 28px;gap:28px}.hero-logo{max-width:330px}.hero h1{font-size:36px}.lead{font-size:16px}.hero-img{padding:6px;border-radius:22px}.hero-img img{border-radius:16px}.landing .gallery{padding:14px 16px 42px}.gal{gap:9px}.gal img{border-width:3px;border-radius:13px}}

/* ── 워커 그룹 — 심플/고급: 색 띠 + 번호, 고정(sticky) 없음 ── */
.wnav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px}.wnav-item{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);background:#fff;border-radius:999px;padding:5px 12px 5px 5px;font-weight:700;font-size:13px;color:var(--tx)}.wnav-item small{color:var(--mut);font-weight:500}.wnav-item:hover{text-decoration:none;border-color:var(--ac2)}
.wno{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--wc,var(--ac));color:#fff;font-family:var(--mono);font-weight:800;font-size:12px;flex:none}.wno.big{width:36px;height:36px;font-size:16px}
.wblock{--wc:var(--ac);background:#fff;border:1px solid var(--line);border-left:6px solid var(--wc);border-radius:18px;margin:0 0 26px;box-shadow:var(--sh);scroll-margin-top:80px;overflow:hidden}
.whead{display:flex;align-items:center;gap:14px;padding:16px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--wc) 8%,#fff),#fff 60%)}
.wname{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--tx)}.wmeta{font-size:12.5px;color:var(--mut);margin-top:2px}.wsum{font-size:13px;color:var(--tx2);white-space:nowrap}.wsum b{color:var(--wc);font-size:14.5px}
.wbody{padding:16px 22px 20px}.container-detail-list .wbody{overflow:hidden;box-sizing:border-box}.container-detail-list{overflow-anchor:none}.wtag{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--wc);color:#fff;font-family:var(--mono);font-size:11px;font-weight:800;vertical-align:middle;margin-right:2px}
.wtbl tr.wrow td:first-child{border-left:6px solid var(--wc);padding-left:14px}
@media(max-width:900px){.whead{flex-wrap:wrap}.wsum{white-space:normal}}

/* ── 워커 헤더 라벨/통계 ── */
.wlabel{display:inline-flex;align-items:center;background:var(--wc);color:#fff;font-family:var(--mono);font-weight:800;font-size:12px;letter-spacing:1.5px;padding:8px 12px;border-radius:10px;box-shadow:0 4px 12px color-mix(in srgb,var(--wc) 40%,transparent);flex:none}
.wstats{display:flex;gap:6px}.stat{display:flex;flex-direction:column;align-items:center;min-width:64px;padding:6px 10px;border-radius:12px;background:#faf8f2;border:1px solid var(--line)}.stat b{font-family:var(--mono);font-size:20px;line-height:1.1;color:var(--tx)}.stat span{font-size:10.5px;letter-spacing:.6px;color:var(--mut);text-transform:uppercase;display:inline-flex;align-items:center;gap:4px;margin-top:2px}
.stat.live-stat.on{background:var(--oks);border-color:#c5dccb}.stat.live-stat.on b{color:var(--ok)}.stat.live-stat.on span{color:var(--ok);font-weight:800}.stat.live-stat.on .dot{width:7px;height:7px;animation:livepulse 1.6s infinite}.stat.live-stat:not(.on) .dot{background:var(--line2);box-shadow:none}
.wblock{border-left-width:8px}
@media(max-width:900px){.wstats{flex-wrap:wrap}}
/* ── 워커 헤더: 워커 고유색 그라데이션 배경 + 광택 ── */
.wblock{border-left-width:1px;border-color:var(--line)}
.whead{position:relative;overflow:hidden;color:#fff;border-bottom:0;padding:18px 24px;background:linear-gradient(var(--wa,115deg),color-mix(in srgb,var(--wc) 92%,#000) 0%,var(--wc) 45%,var(--wc2,color-mix(in srgb,var(--wc) 70%,#fff)) 100%)}
.whead::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 160px at 85% -40%,#ffffff55,transparent 60%),linear-gradient(180deg,#ffffff14,transparent 50%);pointer-events:none}
.whead::after{content:'';position:absolute;top:0;bottom:0;width:40%;left:-45%;background:linear-gradient(100deg,transparent,#ffffff2e,transparent);pointer-events:none}@keyframes sheen{0%,60%{left:-45%}100%{left:120%}}
.whead>*{position:relative;z-index:1}
.wname{color:#fff;text-shadow:0 1px 2px #0003}.wmeta{color:#ffffffcc}.wmeta .dot.on{background:#9cf5b3;box-shadow:0 0 0 4px #9cf5b333}.wmeta .dot.off{background:#ffb3ab}
.whead .wlabel{background:#ffffff26;border:1px solid #ffffff55;box-shadow:inset 0 1px 0 #ffffff55,0 4px 14px #0002}
.wstats .stat{background:#ffffff1f;border:1px solid #ffffff3a;}.wstats .stat b{color:#fff}.wstats .stat span{color:#ffffffcc}
.stat.live-stat.on{background:#ffffff33;border-color:#ffffff66}.stat.live-stat.on b,.stat.live-stat.on span{color:#fff}.stat.live-stat.on .dot{background:#9cf5b3;box-shadow:0 0 0 0 #9cf5b3aa;animation:livepulse2 1.6s infinite}@keyframes livepulse2{0%{box-shadow:0 0 0 0 #9cf5b3aa}70%{box-shadow:0 0 0 8px #9cf5b300}100%{box-shadow:0 0 0 0 #9cf5b300}}
.wsum{color:#fff}.wsum b{color:#fff;text-decoration:underline;text-decoration-color:#ffffff88;text-underline-offset:3px}
.wtbl tr.wrow td:first-child{border-left:8px solid var(--wc);background:linear-gradient(90deg,color-mix(in srgb,var(--wc) 10%,#fff),transparent 70%)}

/* 워커 옵션 색, 이미 생성된 업체, 버튼 그룹 */
.pick .opt.wopt{border-left:6px solid var(--wc)}.pick .opt.wopt:has(input:checked){box-shadow:0 0 0 3px color-mix(in srgb,var(--wc) 30%,transparent);border-color:var(--wc)}
.pick .opt .exists{display:none;font-style:normal;font-size:11px;color:var(--bad);font-weight:700}.pick .opt.has{opacity:.5;background:#f3f1ea;cursor:not-allowed;text-decoration:line-through}.pick .opt.has .exists{display:inline;text-decoration:none}
.bgrp{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.bgrp.v{flex-direction:column;align-items:stretch}.bgrp .btn{white-space:nowrap}
.pcell{min-width:118px}.alltbl{border:1px solid var(--line);border-radius:14px;overflow:auto}.alltbl table th{position:sticky;top:0}
.provblock table td{padding:9px 10px}

.chip.elsewhere{border-style:dashed;color:var(--mut2);background:#faf8f2}.chip.elsewhere::before{content:'↗ ';font-size:10px}
.chip.bump{animation:bump .45s ease}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.chip.moved{animation:moved .7s ease forwards}@keyframes moved{0%{background:var(--ac);color:#fff}50%{background:var(--bads);color:var(--bad);transform:translateY(-4px)}100%{background:#faf8f2;color:var(--mut2);transform:none}}

.wblock.idle .whead{filter:saturate(.35) brightness(1.05)}.wblock.idle .wbody{background:#faf8f2}

.wcos{padding:10px 22px;background:#faf8f2;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wnav-item .wno{background:var(--wc)}

/* 호버 대시보드 */
.popcard{position:absolute;z-index:80;width:370px;background:var(--paper);border:1px solid var(--line2);border-radius:16px;padding:14px 16px;box-shadow:0 24px 60px #1c211a33;font-size:13px;animation:fadein .15s}
.pop-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pop-h b{font-size:14.5px}
.pop-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 10px}.pop-stats div{background:#faf8f2;border:1px solid var(--line);border-radius:10px;padding:6px 4px;text-align:center}.pop-stats b{display:block;font-family:var(--mono);font-size:15px;color:var(--tx)}.pop-stats span{font-size:10px;letter-spacing:.5px;color:var(--mut);text-transform:uppercase}
.pop-sec{font-size:11px;font-weight:700;color:var(--mut);letter-spacing:.5px;text-transform:uppercase;margin:10px 0 4px}
.pop-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px dashed var(--line)}.pop-row:last-child{border-bottom:0}.pop-row i{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}
.cchip::after{display:none}.cchip{cursor:pointer}

.wcompanies{margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:#fff}.wcompanies>span:first-child{background:#ffffff26;border:1px solid #ffffff44;border-radius:999px;padding:1px 9px;font-weight:700}.wcompanies .cchip{box-shadow:0 0 0 2px #ffffff55}

.pop-item{padding:7px 0;border-bottom:1px dashed var(--line)}.pop-item:last-child{border-bottom:0}.pop-item .pop-row{border:0;padding:0 0 4px}.pop-sec small{font-weight:500;text-transform:none;letter-spacing:0;color:var(--mut2)}
.minis{display:flex;gap:4px;flex-wrap:wrap;margin-left:16px}.mini{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--bg2);color:var(--mut2);border:1px solid var(--line)}.mini.on{background:var(--oks);color:var(--ok);border-color:#c5dccb}
.wpill{font-family:var(--mono);font-size:10px;font-weight:800;background:var(--tx);color:#fff;border-radius:6px;padding:1px 6px;letter-spacing:.5px}

.clink{--c:var(--ac);font-weight:800;color:var(--tx);border-bottom:2px solid var(--c);padding:0 2px;cursor:pointer}.clink:hover{background:color-mix(in srgb,var(--c) 15%,#fff);text-decoration:none;border-radius:4px}.csw{display:inline-block;width:14px;height:14px;border-radius:4px}

.cotg{--c:#ffffff;display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-family:var(--mono);font-size:11.5px;font-weight:700;cursor:pointer;border:1px solid #ffffff66;color:#ffffffb3;background:#ffffff1a;transition:.15s}.cotg.on{background:var(--c);color:#1c211a;border-color:#fff;box-shadow:0 0 0 2px #ffffff55}.cotg:hover{border-color:#fff;color:#fff}.cotg.on:hover{color:#1c211a}

/* 체크된 업체만 보이고 나머지는 ＋ 로 펼침 — 워커/컨테이너에 '어느 업체가 있는지' 오독 방지 */
.chips.collapsed .chip:not(.on):not(.more),.chips.collapsed .cotg:not(.on):not(.more){display:none}
.chip.more,.cotg.more{border-style:dashed;opacity:.75;font-weight:600}.chip.more:hover,.cotg.more:hover{opacity:1}
.chips.open .chip.more,.chips.open .cotg.more{opacity:.5}
.wmine{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 18px 0;font-size:13px}.wmine .minis{margin:0}

/* 워커 색상 팔레트(슈퍼관리자) — 평소엔 현재색 칩만, 클릭하면 팝업 패널 */
.wcolor{position:relative;margin-left:6px}
.wcolor .cur{width:30px;height:30px;border-radius:9px;border:2px solid #ffffffaa;box-shadow:0 2px 8px #0003;cursor:pointer;transition:.15s}.wcolor .cur:hover{transform:scale(1.12);border-color:#fff}
.wcolor .panel{display:none;position:absolute;top:38px;left:0;z-index:40;width:332px;padding:12px 14px 14px;border-radius:14px;background:#fff;color:var(--tx);border:1px solid var(--line);box-shadow:0 18px 40px #0003;animation:popin .18s ease}
.wcolor.open .panel{display:block}
.wcolor .ptitle{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:700;font-size:14px;margin-bottom:10px}.wcolor .ptitle small{color:var(--mut);font-family:var(--sans);font-weight:500;font-size:11px}.wcolor .px{margin-left:auto;border:0;background:none;cursor:pointer;color:var(--mut);font-size:13px}
.wcolor .pal{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.wcolor .sw{width:100%;aspect-ratio:1;border-radius:8px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line2);cursor:pointer;transition:.12s}.wcolor .sw:hover{transform:scale(1.15);box-shadow:0 0 0 1px var(--ac),0 4px 10px #0003}.wcolor .sw.on{box-shadow:0 0 0 2px var(--ac),0 0 0 4px #fff}
.wcolor .cust{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--tx2);white-space:nowrap}.wcolor .cust label{display:inline-flex;align-items:center;gap:5px}.wcolor .cust input[type=color]{width:28px;height:24px;border:1px solid var(--line2);border-radius:6px;padding:0;background:none;cursor:pointer}.wcolor .cust .ang{flex:1}.wcolor .cust input[type=range]{width:80px}.wcolor .cust .ang b{font-family:var(--mono);font-size:11px;min-width:32px}
@keyframes popin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* 워커 배정받기(업체) — 라이브 카드 (선명한 대비 · 5단계 부하) */
.claim{margin-top:14px}.claim-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.claim-h h3{margin:0;font-family:var(--serif);font-size:19px;color:var(--tx)}.claim-h h3 small{font-size:12.5px;font-weight:500;margin-left:8px}
.sortbar{display:flex;align-items:center;gap:6px}.sbtn{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--tx2);cursor:pointer;transition:.12s}.sbtn:hover{border-color:var(--ac)}.sbtn.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.sarr{display:inline-block;width:0;height:0;margin-left:4px;border:4px solid transparent;border-top-color:currentColor;opacity:.5;vertical-align:middle;transform:translateY(2px)}.sbtn.on .sarr{opacity:1}.sbtn.on[data-d=asc] .sarr{transform:rotate(180deg) translateY(2px)}
.wcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}
.wcard{--wc:var(--ac);background:#fff;border:1px solid var(--line2);border-top:6px solid var(--wc);border-radius:16px;padding:16px 18px 14px;box-shadow:0 6px 18px #00000014;color:#1c211a}.wcard:hover{border-color:var(--wc)}
.wcard-h{display:flex;align-items:center;gap:10px}.wcard-h .wlabel{padding:7px 11px;font-size:12px;color:#fff;background:var(--wc);box-shadow:none}
.pulse{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#2e7d4f}.pulse i{width:9px;height:9px;border-radius:50%;background:#2e7d4f}.wcard.off .pulse{color:#8a8a8a}.wcard.off .pulse i{background:#8a8a8a;animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 #2e7d4f88}100%{box-shadow:0 0 0 9px transparent}}
.lvl{--lc:#2e7d4f;margin-left:auto;font-weight:800;font-size:13px;color:#fff;background:var(--lc);border-radius:8px;padding:5px 11px;letter-spacing:.5px;transition:.3s}
.lvbar{display:flex;gap:4px;margin:12px 0 6px}.lvbar i{flex:1;height:8px;border-radius:99px;background:#e6e3d8;transition:.4s}.lvbar i:nth-child(1).on{background:#2e7d4f}.lvbar i:nth-child(2).on{background:#5a9a3c}.lvbar i:nth-child(3).on{background:#c79a1e}.lvbar i:nth-child(4).on{background:#d9642a}.lvbar i:nth-child(5).on{background:#c0392b}
.lvdesc{font-size:12px;color:#4a4f45}
.wcard-n{display:flex;gap:6px;margin:12px 0 10px}.wcard-n>div{flex:1;background:#f4f2ea;border-radius:10px;padding:8px 10px;text-align:center}.wcard-n b{display:block;font-family:var(--serif);font-size:22px;line-height:1.1;color:#1c211a}.wcard-n span{font-size:11px;color:#6b6f66}
.meter{display:flex;align-items:center;gap:8px;font-size:11px;color:#4a4f45;margin-top:7px}.meter>span{width:32px;font-weight:800;letter-spacing:.5px;color:#1c211a}.meter .bar{flex:1;height:8px;border-radius:99px;background:#e6e3d8;overflow:hidden}.meter .bar i{display:block;height:100%;border-radius:99px;background:var(--wc);transition:width 1.2s cubic-bezier(.2,.8,.2,1);min-width:2px}.meter b{width:38px;text-align:right;font-family:var(--mono);color:#1c211a}.meter em{--lc:#2e7d4f;font-style:normal;font-size:11px;font-weight:700;color:var(--lc);width:36px;text-align:right}
.wcard-f{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}

/* 활성 워커 헤더 라이브 지표 — 어두운 반투명 패널로 가독성 확보 */
.wlive{display:flex;flex-direction:column;gap:5px;min-width:250px;padding:10px 14px;border-radius:12px;background:#00000040;border:1px solid #ffffff33;font-size:11px;}.wlive-h{display:flex;align-items:center;gap:8px}.wlive .pulse{color:#fff}.wlive .pulse i{background:#fff}.wlive .lvl{font-size:12px;padding:4px 10px}.wlive .lvbar{margin:4px 0 2px}.wlive .lvbar i{background:#ffffff33;height:6px}.wlive .meter{margin-top:3px;color:#fff}.wlive .meter>span,.wlive .meter b{color:#fff}.wlive .meter .bar{background:#ffffff33}.wlive .meter .bar i{background:#fff}
/* 업체 카드(관리 콘솔) */
.cogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.cocard{background:#fff;border:1px solid var(--line2);border-radius:14px;padding:12px 14px;transition:.2s}.cocard.off{opacity:.55;background:#f6f4ee}.cocard:hover{border-color:var(--ac2);box-shadow:var(--sh)}
.cocard-h{display:flex;align-items:center;gap:8px}.cocode{font-family:var(--mono);font-weight:800;font-size:15px;color:var(--ac)}.cosym{width:92px;font-family:var(--mono);font-weight:800;font-size:13px;letter-spacing:.5px;padding:4px 8px;border:1px solid var(--line2);border-radius:8px;text-transform:uppercase}.cosym.saved{border-color:var(--ok);background:var(--oks)}
.coname{font-weight:700;font-size:14px;margin:8px 0 6px;color:var(--tx)}
.costats{display:flex;gap:4px}.costats>div{flex:1;text-align:center;background:var(--bg2);border-radius:8px;padding:5px 2px}.costats b{display:block;font-family:var(--serif);font-size:17px;line-height:1.1}.costats span{font-size:10.5px;color:var(--mut)}
.cofoot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px}.cofoot input{width:56px;display:inline-block;padding:3px 6px;margin-left:4px}
.switch{margin-left:auto;display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none}.switch input{display:none}.switch i{width:44px;height:24px;border-radius:99px;background:#c9c5b8;position:relative;transition:.2s}.switch i::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0004;transition:.2s}.switch input:checked+i{background:var(--ok)}.switch input:checked+i::after{left:23px}.switch b{font-family:var(--mono);font-size:11px;color:var(--mut);width:26px}.switch input:checked~b{color:var(--ok)}
.cchip em{font-style:normal;font-weight:800;margin-left:5px;padding-left:5px;border-left:1px solid #ffffff66;letter-spacing:.3px}

/* 탑승/주행 */
.drive{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(115deg,#2b3a24,#4a6b3a 60%,#5e7f49);color:#fff;border:1px solid #ffffff33;border-radius:14px;padding:14px 18px;margin:0 0 12px;box-shadow:0 8px 22px #0003}.drive>div{display:flex;align-items:center;gap:10px;flex:1}.drive-k{font-family:var(--serif);font-weight:700;font-size:15px;color:#fff}.drive .muted,.drive .small{color:#ffffffcc}.drive .switch{margin-left:0}.drive .switch i{background:#ffffff55}.drive .switch input:checked+i{background:#e8d27a}.drive .switch b{color:#ffffffaa}.drive .switch input:checked~b{color:#e8d27a}.drive .wlabel{border:1px solid #ffffff66}
.drive-on{background:#ffffff2e;border:1px solid #ffffff88;border-radius:999px;padding:5px 12px;font-weight:800}.drive-btn{background:#fff;color:#1c211a;border-color:#fff}.drive-btn:hover{background:#f4f2ea}

/* 워커 색상 팝업이 헤더/블록의 overflow:hidden 에 잘리지 않도록 */
.whead:has(.wcolor.open),.wblock:has(.wcolor.open){overflow:visible}.wblock:has(.wcolor.open){position:relative;z-index:60}.wcolor .panel{z-index:100}

.wcard.mine{border-color:var(--wc);box-shadow:0 0 0 2px color-mix(in srgb,var(--wc) 25%,transparent)}.wcard.cur{background:linear-gradient(180deg,color-mix(in srgb,var(--wc) 8%,#fff),#fff 40%)}
.mine-tag{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:800;color:var(--wc)}.mine-tag .dot{width:8px;height:8px}
.mine-tag.warn{color:#b5541c}

/* 그룹 구분 · 1U 랙 리스트 */
.grp-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--line2)}.grp-h>div{display:flex;align-items:center;gap:10px}.grp-h h3,.grp-h h2{margin:0;font-family:var(--serif);font-size:19px;color:var(--tx)}.grp-h h2{font-size:24px}.grp-h small{display:block;font-size:12.5px;font-weight:500;color:var(--mut);margin-top:2px}.grp-h.big{margin-top:6px;border-bottom-width:3px;border-color:var(--ac)}
.grp-no{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--ac);color:#fff;font-family:var(--serif);font-weight:800;font-size:15px}
.wcard.cur{border-top-width:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--wc) 10%,#fff),#fff 45%)}.mine-tag.cur{color:var(--wc)}
.rack{display:flex;flex-direction:column;gap:6px}
.unit{--wc:var(--ac);display:flex;align-items:center;gap:14px;background:linear-gradient(90deg,#f7f5ef,#fff 30%);border:1px solid var(--line2);border-left:6px solid var(--wc);border-radius:10px;padding:8px 14px;min-height:46px}.unit.off{opacity:.6}
.uled i{display:block;width:8px;height:8px;border-radius:50%;background:#2e7d4f;box-shadow:0 0 6px #2e7d4f}.unit.off .uled i{background:#999;box-shadow:none}
.unit .wlabel{padding:5px 10px;font-size:11.5px;min-width:96px;justify-content:center;box-shadow:none}.unit .lvl{margin:0;min-width:52px;text-align:center;font-size:12px;padding:4px 8px}
.umeter{display:flex;align-items:center;gap:6px;font-size:11px;color:#4a4f45;width:170px}.umeter>span{width:28px;font-weight:800;color:#1c211a}.umeter .bar{flex:1;height:7px;border-radius:99px;background:#e6e3d8;overflow:hidden}.umeter .bar i{display:block;height:100%;border-radius:99px;background:var(--wc);transition:width 1.2s cubic-bezier(.2,.8,.2,1);min-width:2px}.umeter b{width:34px;text-align:right;font-family:var(--mono);color:#1c211a}
.ufact{font-size:12px;color:#4a4f45;white-space:nowrap}.ufact b{color:#1c211a}.unit .btn{margin-left:auto}
@media (max-width:900px){.unit{flex-wrap:wrap;gap:8px 12px}.unit .btn{margin-left:0;width:100%;justify-content:center}}
/* 워커 블록 헤더 우측: 상태 + 라이브 지표를 항상 같은 배치로 */
.whr{display:flex;align-items:center;gap:16px;margin-left:auto}.wstate{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:220px}.wstate .wsum{text-align:right}

/* 내 워커 — 큰 패널 */
.mypanel{border:2px solid var(--ac);border-radius:22px;padding:22px 22px 8px;margin:0 0 30px;background:linear-gradient(180deg,#fbfaf6,#fff 120px);box-shadow:0 10px 30px #0000000f;position:relative}
.mypanel>.grp-h.big{margin:0 0 18px;border-bottom:2px solid color-mix(in srgb,var(--ac) 35%,#fff)}.mypanel .wblock{margin-bottom:18px}.mypanel .drive{margin:0 0 16px}
.mypanel::before{content:'MY WORKERS';position:absolute;top:-11px;left:22px;background:var(--ac);color:#fff;font-family:var(--mono);font-size:10.5px;font-weight:800;letter-spacing:2px;padding:3px 10px;border-radius:999px}
.claim{border:1px solid var(--line2);border-radius:22px;padding:22px 22px 18px;background:#fff}

.warnbox{background:#fff7ea;border:1px solid #e6cf9f;border-left:5px solid #d9642a;border-radius:10px;padding:10px 14px;margin:10px 0}.warnbox b{color:#b5541c}.warnbox p{margin:4px 0 0;font-size:13px}
.step-box>b{display:block;margin-bottom:6px}ol.fx{margin:0;padding-left:18px;font-size:13px;line-height:1.55}ol.fx li{margin:4px 0}ol.fx li b{color:#b5541c}

/* ── 가독성: 홈 하단 그룹 글자 진하게 ── */
.mypanel,.claim{color:#1c211a}.claim .muted,.mypanel .muted,.claim small,.grp-h small{color:#555a50}.grp-h small{font-size:13px}
.wcard-h .wlabel,.unit .wlabel{font-size:12.5px;letter-spacing:1.2px}.lvdesc{color:#2f342c;font-weight:600}.wcard-n span,.costats span{color:#555a50}.ufact{color:#2f342c;font-size:12.5px}
.mine-tag{font-size:13px}.mine-tag.warn{color:#b5541c}.mine-tag.cur{color:#1c211a}
/* ── 선택(주행) 워커: 3D 부각 ── */
.wcard{position:relative;transition:transform .2s,box-shadow .2s}
.wcard.cur{transform:translateY(-6px) scale(1.02);border-color:var(--wc);border-top-width:6px;box-shadow:0 0 0 3px var(--wc),0 24px 40px -10px color-mix(in srgb,var(--wc) 55%,transparent),0 10px 18px #0000001c,inset 0 -5px 0 color-mix(in srgb,var(--wc) 30%,#fff);background:linear-gradient(180deg,color-mix(in srgb,var(--wc) 12%,#fff),#fff 50%);z-index:2}
.wcard.mine:not(.cur){box-shadow:0 2px 6px #00000012;border-color:var(--line2)}
.ribbon{position:absolute;top:-13px;right:16px;background:var(--wc);color:#fff;font-weight:800;font-size:12px;letter-spacing:1px;padding:5px 12px;border-radius:999px;box-shadow:0 6px 14px color-mix(in srgb,var(--wc) 50%,transparent),inset 0 1px 0 #ffffff66;z-index:3}
.wcard.cur::before{content:'선택됨 · 주행 중 ✓';position:absolute;top:-13px;right:14px;background:var(--wc);color:#fff;font-weight:800;font-size:12px;letter-spacing:1px;padding:5px 12px;border-radius:999px;box-shadow:0 6px 14px color-mix(in srgb,var(--wc) 50%,transparent),inset 0 1px 0 #ffffff66}
.wcards{padding-top:10px}
.wblock{position:relative;transition:box-shadow .2s,transform .2s}
.wblock.cur{box-shadow:0 0 0 3px var(--wc),0 26px 44px -12px color-mix(in srgb,var(--wc) 55%,transparent),0 12px 22px #0000001f;transform:translateY(-3px);z-index:2;overflow:visible}
.wblock.cur .whead{border-top-left-radius:16px;border-top-right-radius:16px}.wblock.cur .wbody{border-bottom-left-radius:16px;border-bottom-right-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--wc) 6%,#fff),#fff 60px)}
.mypanel .wblock:not(.cur){box-shadow:0 2px 8px #00000010}
.unit{color:#1c211a;transition:transform .15s,box-shadow .15s}.unit:hover{transform:translateX(3px);box-shadow:0 8px 18px #00000018;border-color:var(--wc)}

/* ── 워커 헤더 가독성: 더 어두운 그라데이션 + 글자 그림자 + 배지 진하게 ── */
.whead{background:linear-gradient(var(--wa,115deg),color-mix(in srgb,var(--wc) 80%,#000) 0%,color-mix(in srgb,var(--wc) 92%,#000) 45%,var(--wc2,color-mix(in srgb,var(--wc) 75%,#000)) 100%)}
.whead,.whead .wname,.whead .wmeta,.whead .wsum,.whead .small{color:#fff;text-shadow:0 1px 2px #0006}.whead .wname{font-size:17px;font-weight:800}.whead .wmeta{opacity:1;color:#f1efe6}.whead .wsum b{color:#fff}
.whead .badge{background:#0000004d;color:#fff;border:1px solid #ffffff88;font-weight:800;text-shadow:none;padding:5px 10px}.whead .live{background:#0000004d;border:1px solid #ffffff88;padding:5px 10px;border-radius:999px;color:#fff;font-weight:800}
.whead .wlabel{background:#ffffff;color:#1c211a;border:0;text-shadow:none;box-shadow:0 4px 14px #0004}
.wlive{background:#00000066;border-color:#ffffff55}.wlive,.wlive .meter,.wlive .meter>span,.wlive .meter b{color:#fff;text-shadow:0 1px 1px #0008}.wlive .pulse{font-weight:800}
.drive-btn{font-weight:800}
.wcompanies span,.wcompanies{color:#f1efe6}
/* ── 워커 포커싱: 올리면 그 워커만 또렷하게 떠오르고, 헤더 클릭으로 고정(다른 워커는 흐려짐) ── */
.wblock:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--wc) 70%,#fff),0 18px 36px -10px color-mix(in srgb,var(--wc) 50%,transparent);transform:translateY(-2px)}
body.focusing .wblock:not(.focus):not(:hover){opacity:.45;filter:saturate(.6)}body.focusing .wblock.focus{box-shadow:0 0 0 4px var(--wc),0 30px 50px -12px color-mix(in srgb,var(--wc) 65%,transparent);transform:translateY(-4px) scale(1.01);z-index:3;overflow:visible}
.whead{cursor:pointer}.whead .wlabel::after{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--wc);margin-left:8px;opacity:0;transition:.15s}.wblock.focus .whead .wlabel::after{opacity:1}
.wcard:hover{transform:translateY(-4px);box-shadow:0 0 0 3px color-mix(in srgb,var(--wc) 70%,#fff),0 18px 34px -10px color-mix(in srgb,var(--wc) 50%,transparent)}
/* 워커별 활성 업체 칩: 활성(ON)은 업체색 꽉 찬 칩 + ✓, 비활성은 점선 윤곽만 — 한눈에 구분 */
.cotg{background:transparent;border:1px dashed #ffffff88;color:#ffffffb3;font-weight:700;opacity:.85}.cotg::before{content:'';display:inline-block;width:0}
.cotg.on{opacity:1;background:var(--c);color:#1c211a;border:2px solid #fff;box-shadow:0 3px 10px #0004,0 0 0 2px color-mix(in srgb,var(--c) 60%,#000);font-weight:800;padding:3px 10px}.cotg.on::before{content:'✓ ';font-weight:900}
.cotg:not(.on):hover{border-style:solid;color:#fff;background:#ffffff1f}
.cotg.more{border-style:dashed;background:#00000033;color:#fff;opacity:1}

/* 토스트 */
#wcToasts{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.toast{display:flex;align-items:center;gap:10px;background:#1c211a;color:#fff;padding:11px 16px;border-radius:12px;box-shadow:0 12px 30px #0005;font-size:13px;max-width:420px;opacity:0;transform:translateY(8px);transition:.25s}.toast.in{opacity:1;transform:none}.toast i{width:9px;height:9px;border-radius:50%;background:#e8d27a;flex:none}.toast.ok i{background:#7fc28a}.toast.bad{background:#5a1e1e}.toast.bad i{background:#ff8a8a}
.confirm-body{font-size:14px;line-height:1.6}
.refreshed{animation:refreshed .6s ease}@keyframes refreshed{0%{outline:2px solid color-mix(in srgb,var(--ac) 50%,transparent);outline-offset:2px}100%{outline:2px solid transparent}}
input.bad{border-color:var(--bad)!important;background:var(--bads)}
.swapopt.iscur{border-color:var(--ac)}

/* ── 워커 안 모듈(Claude/Codex/DeepSeek) 선택 + 컨테이너 행 개별 포커스 ── */
.provblock{border:2px solid var(--line);border-radius:14px;padding:10px 14px;margin:10px 0;background:#fff;transition:.2s}
.provblock .provsel{cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.provblock .provsel::before{content:'▸';font-size:13px;color:var(--mut);width:12px}
.provblock.sel{border:3px solid var(--wc);box-shadow:0 0 0 4px color-mix(in srgb,var(--wc) 18%,transparent),0 12px 26px -10px color-mix(in srgb,var(--wc) 45%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--wc) 6%,#fff),#fff 60px)}
.provblock.sel .provsel::before{content:'▾';color:var(--wc)}.provblock.sel .provsel .wtag{transform:scale(1.15)}
.provbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1),opacity .35s;opacity:0}.provbody>div{overflow:hidden;min-height:0}.provblock.sel .provbody{grid-template-rows:1fr;opacity:1}.provblock:not(.sel){opacity:.8}.provblock:not(.sel):hover{opacity:1;border-color:var(--wc)}
.provblock.sel .provsel{font-size:15px}.provblock.sel .provsel .badge,.provblock.sel .provsel .live{font-weight:800}
.provblock table{margin-top:8px}
tr.crow{--rc:var(--ac);transition:.12s;cursor:default}tr.crow:hover td{background:#fbf9f3}tr.crow:hover{outline:3px solid var(--rc);outline-offset:-1px;box-shadow:0 6px 16px -6px var(--rc)}tr.crow:hover td:first-child{border-left-width:10px!important}
tr.crow.picked{outline:3px solid var(--rc);outline-offset:-1px}tr.crow.picked td{background:color-mix(in srgb,var(--rc) 8%,#fff)}

/* 작업공간 준비 애니메이션 */
.prep{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:8px 0}.prep p{margin:10px 0;font-size:14px;line-height:1.6}
.prep-anim{display:flex;gap:8px;height:28px;align-items:flex-end}.prep-anim i{width:14px;background:linear-gradient(180deg,var(--ac2),var(--ac));border-radius:4px 4px 2px 2px;animation:prep 1.2s ease-in-out infinite}.prep-anim i:nth-child(2){animation-delay:.15s}.prep-anim i:nth-child(3){animation-delay:.3s}.prep-anim i:nth-child(4){animation-delay:.45s}
@keyframes prep{0%,100%{height:8px;opacity:.5}50%{height:28px;opacity:1}}
.prep-row{display:flex;align-items:center;gap:10px;font-weight:700;margin:8px 0 4px}.prep-row .right{margin-left:auto}
.ccards .ccard{border-top:4px solid var(--rc)}.ctbl tr.crow.picked td{background:color-mix(in srgb,var(--rc) 10%,#fff)}
.restore-hint{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--oks);border:1px solid color-mix(in srgb,var(--ok) 40%,#fff);font-size:12.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* 홈 CLI 카드 정돈: 상태 → 안내 → 버튼 줄, 버튼은 줄바꿈 허용 */
.wbody .grid.g3>.card{display:flex;flex-direction:column;gap:8px;min-height:150px}.wbody .grid.g3>.card h3{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wbody .grid.g3>.card p{margin:0}
.wbody .grid.g3>.card .bgrp{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.wbody .grid.g3>.card>button.btn{align-self:flex-start;margin-top:auto}
.restore-hint{flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto}.restore-hint .btn{white-space:nowrap}

.pmk{display:inline-flex;gap:2px;margin-left:6px;vertical-align:middle}.pmk i{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:4px;font-style:normal;font-size:9px;font-weight:800;background:#ffffff33;color:#ffffff99}.chip.on .pmk i.on{background:#fff;color:var(--ac)}.chip:not(.on) .pmk i{background:#eee;color:#999}
.chip.ro{cursor:default}.chip.ro:hover{border-color:var(--ac)}.ownmk{font-size:9px;background:#fff;color:var(--ac);border-radius:4px;padding:0 4px;margin-left:4px}
.chips.acc{gap:6px}
/* 열림/닫힘 애니메이션 — 어느 칸이 열리는지 분명히 */

@keyframes openslide{0%{opacity:0;transform:translateY(-10px) scaleY(.96)}100%{opacity:1;transform:none}}
.provblock.justsel{animation:selpulse .7s ease}@keyframes selpulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--wc) 60%,transparent)}60%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 4px color-mix(in srgb,var(--wc) 18%,transparent)}}
.provblock.closing{animation:closefade .28s ease both}@keyframes closefade{0%{opacity:1;transform:none}100%{opacity:.75;transform:translateY(-2px)}}
.provblock .provsel::before{transition:transform .25s}.provblock.sel .provsel::before{transform:rotate(0)}.provblock:not(.sel) .provsel::before{transform:rotate(-90deg);content:'▾'}
.chips.open .chip:not(.on),.chips.open .cotg:not(.on){animation:chipin .3s ease both}.chips.open .chip:not(.on):nth-child(n+2){animation-delay:.03s}.chips.open .chip:not(.on):nth-child(n+4){animation-delay:.06s}.chips.open .chip:not(.on):nth-child(n+6){animation-delay:.09s}.chips.open .chip:not(.on):nth-child(n+8){animation-delay:.12s}
@keyframes chipin{0%{opacity:0;transform:translateY(-6px) scale(.9)}100%{opacity:1;transform:none}}
.chips.open{outline:2px dashed color-mix(in srgb,var(--ac) 45%,#fff);outline-offset:4px;border-radius:12px;transition:outline-color .2s}
.wcolor.open .panel{animation:popin .22s ease}

/* 모듈별 고유색 — 테두리가 "거기서 거기"로 보이지 않게: Claude 주황 · Codex 청록 · DeepSeek 보라 */
.provblock[data-prov=claude]{--pc:#c96b3a}.provblock[data-prov=codex]{--pc:#2f7f8f}.provblock[data-prov=deepseek]{--pc:#6b4ba3}
.provblock{border-left:8px solid var(--pc,var(--line))}.provblock .provsel .wtag{background:var(--pc)}
.provblock.sel{border:3px solid var(--pc);border-left-width:10px;box-shadow:0 0 0 5px color-mix(in srgb,var(--pc) 22%,transparent),0 14px 30px -12px color-mix(in srgb,var(--pc) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--pc) 7%,#fff),#fff 70px)}
.provblock.sel .provsel{color:var(--pc)}.provblock.sel .provsel::before{color:var(--pc)}
.provblock.justsel{animation:selpulse2 .8s ease}@keyframes selpulse2{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--pc) 65%,transparent)}70%{box-shadow:0 0 0 16px transparent}100%{box-shadow:0 0 0 5px color-mix(in srgb,var(--pc) 22%,transparent)}}
.provblock .provsel::after{content:attr(data-lbl);margin-left:auto;font-size:11px;font-weight:700;color:var(--mut)}.provblock.sel .provsel::after{content:'열림 ▾';color:var(--pc)}.provblock:not(.sel) .provsel::after{content:'클릭하여 열기'}
.permtag{font-size:11px;font-weight:800;color:#fff;background:var(--ac);border-radius:6px;padding:3px 8px;white-space:nowrap}.permtag.pub{background:#8a8f84}.unit.perm{border-color:color-mix(in srgb,var(--ac) 45%,#fff)}

/* 사용 가능 워커 수 — 크게 */
.quota{display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:#fff;border:2px solid var(--ac);border-radius:16px;padding:14px 22px;margin:0 0 14px}.quota.full{border-color:#c0392b;background:#fff7f5}
.quota-n{display:flex;align-items:baseline;gap:6px;font-family:var(--serif);line-height:1}.quota-n b{font-size:64px;font-weight:800;color:var(--ac)}.quota-n .sl{font-size:34px;color:var(--mut)}.quota-n b.lim{font-size:44px;color:#1c211a}.quota-n .unit-lbl{font-family:var(--sans);font-size:15px;font-weight:700;color:#1c211a;margin-left:8px;align-self:center}.quota.full .quota-n b{color:#c0392b}
.quota-t{font-size:15px;line-height:1.55;color:#1c211a;flex:1;min-width:260px}.quota-t b.ok{color:var(--ac);font-size:17px}.quota-t b.warn{color:#c0392b;font-size:17px}.quota-t small{display:block;margin-top:4px;color:#555a50;font-size:12.5px}

.wtag.cnt{width:auto;min-width:26px;height:26px;padding:0 8px;font-size:14px;border-radius:8px;cursor:help;box-shadow:0 2px 6px #0003}
.pop-item.dim{opacity:.55}.pop-h .lvl{font-size:11px;padding:3px 8px}

/* B 목록 버튼 정렬: 같은 폭, 세로 2단, 부제 포함 */
.unit .bgrp.ubtn{display:grid;grid-template-columns:1fr;gap:6px;min-width:250px;margin-left:auto}.unit .bgrp.ubtn .btn{width:100%;justify-content:center;flex-direction:column;gap:1px;padding:7px 12px;line-height:1.2}.unit .bgrp.ubtn .btn small{font-size:10.5px;font-weight:600;opacity:.8;white-space:normal;text-align:center}
@media (min-width:1100px){.unit .bgrp.ubtn{grid-template-columns:1fr 1fr;min-width:420px}}

.unit .bgrp.ubtn{width:420px;flex:none}.unit .bgrp.ubtn .btn:only-child{grid-column:1/-1}.unit .bgrp.ubtn .btn{min-height:44px}
@media (max-width:1100px){.unit .bgrp.ubtn{width:100%;min-width:0}}

/* B 목록 버튼: 짧은 문구, 같은 크기, 또렷한 대비 */
.unit .bgrp.ubtn{width:300px;grid-template-columns:1fr 1fr;gap:6px}.unit .bgrp.ubtn .btn{min-height:38px;padding:6px 10px;font-size:13px;font-weight:800;flex-direction:row;white-space:nowrap}
.unit .bgrp.ubtn .btn.ghost{background:#fff;color:#1c211a;border:2px solid #1c211a44}.unit .bgrp.ubtn .btn.ghost:hover{border-color:var(--ac);color:var(--ac)}
.unit .bgrp.ubtn .btn:not(.ghost){background:var(--ac);color:#fff;border-color:var(--ac)}
@media (min-width:1100px){.unit .bgrp.ubtn{grid-template-columns:1fr 1fr;min-width:0;width:300px}}

.drive .muted,.drive .small,.drive>div>span{color:#fff!important;font-weight:600;text-shadow:0 1px 2px #0006}.drive .drive-k{font-size:16px}
.permtag.keep{background:#2f7f8f}
.uselock{margin-top:8px;padding:7px 10px;border-radius:9px;background:#fff7ea;border:1px solid #e6cf9f;color:#b5541c;font-size:12px;font-weight:700}

/* 내 서버 랙 */
.claim.servers{margin-bottom:18px}.unit.srv{border-left-color:#5b5b8a}.unit.srv.ok{border-left-color:#2e7d4f}.unit.srv.failed{border-left-color:#c0392b}.unit.srv.none{border-left-color:#8a8f84}
.scode{font-weight:800;font-size:13px;min-width:110px;color:#1c211a}.slabel{flex:1;min-width:160px;font-size:13px;color:#1c211a}
.acc{margin-left:auto;font-size:12px;font-weight:800;padding:4px 10px;border-radius:8px;background:#e6e3d8;color:#4a4f45}.acc.ok{background:#2e7d4f;color:#fff}.acc.pending{background:#e8d27a;color:#3a2f00}.acc.failed{background:#c0392b;color:#fff}.acc.none{background:#8a8f84;color:#fff}
.unit.srv .uled i{background:#8a8f84;box-shadow:none}.unit.srv.ok .uled i{background:#2e7d4f;box-shadow:0 0 6px #2e7d4f}
.btn.newws{background:#ffffff;color:#1c211a;border:2px solid #fff;font-weight:800;box-shadow:0 4px 12px #0003}.btn.newws:hover{background:#f4f2ea}
.switch.qw{margin:0 0 6px;gap:5px}.switch.qw i{width:34px;height:18px}.switch.qw i::after{width:14px;height:14px;top:2px;left:2px}.switch.qw input:checked+i::after{left:18px}.switch.qw b{width:auto;font-size:11px}

/* 실시간 대시보드 */
.livedash{border:2px solid var(--line2);border-radius:18px;padding:16px 20px;margin:0 0 18px;background:#fff}.livedash.busy{border-color:var(--ok)}.livedash .grp-h{margin-bottom:10px}
.ld-worker{--wc:var(--ac);display:grid;grid-template-columns:120px 110px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;border:1px solid var(--line);border-left:6px solid var(--wc);margin:6px 0;background:#fbfaf6}.ld-worker.busy{background:#fff;border-color:color-mix(in srgb,var(--wc) 40%,#fff)}.ld-worker.idle{opacity:.75}
.ld-worker .wlabel{padding:6px 10px;font-size:11.5px}.ld-state{font-size:12.5px;font-weight:800;color:#1c211a;display:flex;align-items:center;gap:6px;padding-top:6px}
.ld-jobs{display:flex;flex-direction:column;gap:5px}.ld-job{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;padding:6px 10px;border-radius:9px;background:#f4f2ea}.ld-job.own{background:#fff;border:1px solid var(--line2)}.ld-job.done{background:transparent;padding:3px 0;font-size:12.5px}
.kindtag{font-size:11px;font-weight:800;color:#fff;background:#2f7f8f;border-radius:6px;padding:2px 7px}.ld-title{color:#1c211a;font-weight:600}.ld-meta{color:#555a50;font-size:12px;margin-left:auto}
.ld-age{--age-pct:0%;--age-color:#4e9a55;flex:1 0 100%;display:flex;align-items:center;gap:9px;min-width:0}.ld-age-track{position:relative;display:block;width:min(600px,calc(100% - 92px));height:13px;padding:2px;border:1px solid #20281a21;border-radius:6px;background:repeating-linear-gradient(90deg,#30352d0d 0 8px,transparent 8px 10px);overflow:hidden;box-shadow:inset 0 1px 3px #1b241419}.ld-age-track::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 24.8%,#1e26141b 25%,transparent 25.2%,transparent 49.8%,#1e26141b 50%,transparent 50.2%,transparent 74.8%,#1e26141b 75%,transparent 75.2%);pointer-events:none}.ld-age-track i{display:block;width:var(--age-pct);height:100%;border-radius:3px;background:repeating-linear-gradient(90deg,var(--age-color) 0 8px,transparent 8px 10px);filter:saturate(1.12);transition:width 1s linear,background-color .5s}.ld-age>b{min-width:82px;font:800 10.5px var(--mono);color:var(--age-color);white-space:nowrap}.ld-age.warn .ld-age-track{box-shadow:inset 0 1px 3px #1b241419,0 0 0 2px #e99c3420}.ld-age.danger .ld-age-track{animation:age-alert 1.25s ease-in-out infinite}.ld-age.danger>b::after{content:' · 확인';font-family:var(--sans);font-size:9px}@keyframes age-alert{50%{box-shadow:inset 0 1px 3px #1b241419,0 0 0 3px #cf3f3428}}
.ld-recent{margin-top:10px}.ld-recent summary{cursor:pointer;font-size:12.5px;color:#555a50;font-weight:700}
@media(max-width:720px){.ld-age-track{width:calc(100% - 76px)}.ld-age>b{min-width:68px;font-size:9.5px}}

/* 일시점검 */
.switch.mt{margin:0 0 0 8px;gap:6px}.switch.mt i{width:40px;height:22px;background:#ffffff55}.switch.mt input:checked+i{background:#d9642a}.switch.mt b{color:#fff;width:auto;font-size:11px;font-weight:800}
.wrun{margin-left:8px;font-size:12px;font-weight:800;color:#fff;background:#00000033;border:1px solid #ffffff44;border-radius:999px;padding:4px 10px;display:inline-flex;align-items:center;gap:6px}
.wblock.maint{filter:none}.wblock.maint .whead{background:repeating-linear-gradient(135deg,#7a3d1a 0 14px,#a0522d 14px 28px)!important}
.maintband{position:relative;display:flex;align-items:center;gap:8px;padding:8px 22px;font-size:12.5px;color:#fff;background:#b5541c;overflow:hidden}.maintband .mline{position:absolute;left:0;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,#ffffff55,transparent);animation:mline 1.8s linear infinite}
@keyframes mline{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
.wblock.maint .provblock,.wblock.maint .alltbl{opacity:.75}
.mv-list{margin:8px 0 0;padding:0;list-style:none}.mv-list li{padding:6px 10px;border-radius:8px;background:var(--bg2);margin:4px 0;font-size:13px}.mv-list li.no{background:#fff7ea}
.wstats .switch.mt.corner{margin:0 12px 0 0;align-self:flex-start;background:#00000033;border:1px solid #ffffff55;border-radius:999px;padding:4px 10px 4px 6px}
.wstats{align-items:center}
.infra{font-weight:800;color:#fff;background:#00000033;border:1px solid #ffffff44;border-radius:8px;padding:2px 8px}
.whr-col{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto}.wtools{display:flex;align-items:center;gap:8px}.wtools .switch.mt.corner{margin:0}.wtools .btn.newws{padding:6px 12px}
.whead .wcolor{margin-left:6px}
/* ── 관리자 워커 헤더 그리드: 좌상단 WORKER n / 그 아래 실행 배지(가로로 넓게) / 이름·소속·활성업체 ‖ 우상단 도구(점검·작업공간·색상) / 그 아래 대시 박스 ── */
.whead.ahead{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:18px;row-gap:8px;align-items:start}
.whead.ahead>.wlabel{grid-column:1;grid-row:1;justify-self:start;font-size:14px;padding:9px 14px}
.whead.ahead>.wrun{grid-column:1;grid-row:2;justify-self:start;margin:0;width:max-content;min-width:240px;justify-content:center;padding:7px 16px;font-size:13px;border-radius:10px}
.whead.ahead>div:not(.right){grid-column:1;grid-row:3}
.whead.ahead>.whr-col{grid-column:2;grid-row:1 / span 3;align-self:start;justify-self:end;margin:0}
.whead.ahead .wtools{margin-top:-4px}.whead.ahead .wtools .wcolor{margin-left:2px}
.whead.ahead .wname{font-size:16px;font-weight:800}.whead.ahead .wmeta{font-size:12.5px}

.popcard.wide{width:760px;max-width:calc(100vw - 16px)}
.eta-row{margin-top:6px}.eta-bar{height:8px;border-radius:99px;background:#e6e3d8;overflow:hidden}.eta-bar i{display:block;height:100%;border-radius:99px;transition:width .6s}.eta-txt{display:block;font-size:12.5px;color:#1c211a;margin-top:4px}.eta-row small{display:block;font-size:11px}
.eta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}.eta-grid>div{background:var(--bg2);border-radius:8px;padding:6px 8px;text-align:center}.eta-grid b{display:block;font-family:var(--serif);font-size:15px}.eta-grid span{font-size:10.5px;color:var(--mut)}

/* 브랜드 */
.brand,.lbrand{display:inline-flex;align-items:center;gap:10px;font-family:'Cormorant Garamond','Noto Serif KR',Georgia,serif;font-weight:700;letter-spacing:2px}
.brand-mark{width:34px;height:34px;border-radius:9px;box-shadow:0 4px 12px #0003;flex:none}.lbrand .brand-mark{width:40px;height:40px;border-radius:11px}
.brand span,.lbrand span{color:#a8842e}.hero-logo{display:block;max-width:480px;width:100%;height:auto;margin:0 0 18px}

/* super_admin 업체 카드 — 업체별 사용 가능 서버 열람 */
.coservers{margin:12px 0;border:1px solid var(--line);border-radius:14px;background:#fbfaf6;overflow:hidden}.coservers>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:11px 14px;list-style:none;color:var(--tx)}.coservers>summary::-webkit-details-marker{display:none}.coservers>summary::before{content:'›';font-size:20px;line-height:1;color:var(--ac);transition:transform .18s}.coservers[open]>summary::before{transform:rotate(90deg)}.coservers>summary span{font-size:12px;color:var(--mut)}.coserver-list{border-top:1px solid var(--line)}.coserver{display:grid;grid-template-columns:18px 110px minmax(180px,1fr) 70px 125px 85px 100px;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid #ece8dc;font-size:12.5px}.coserver:first-child{border-top:0}.coserver-label{font-weight:650;color:var(--tx)}.coserver .uled{position:static}.coserver .acc{justify-self:end;font-weight:700}.coserver.ok .uled i{background:var(--ok)}.coserver.pending .uled i{background:#d89b2b}.coserver.failed .uled i,.coserver.none .uled i{background:var(--bad)}.emptybox.compact{margin:0;border:0;border-radius:0;padding:14px}
@media(max-width:900px){.coserver{grid-template-columns:18px 100px minmax(150px,1fr) 90px}.coserver>span:nth-of-type(3),.coserver>span:nth-of-type(4),.coserver>span:nth-of-type(5){display:none}}

/* ── 홈 고급화 ── */
body{background:radial-gradient(1200px 600px at 80% -10%,#e9efdf 0%,transparent 60%),linear-gradient(180deg,#f7f5ee,#f2efe6 60%,#efece2)}
.hero-strip{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:20px;background:linear-gradient(115deg,#16201a,#2e4a2e 60%,#4f7a48);color:#fbf7ea;box-shadow:0 14px 34px #0002;margin:0 0 16px}
.hs-mark{width:54px;height:54px;border-radius:14px;box-shadow:0 6px 16px #0005}.hs-co{font-family:'Cormorant Garamond','Noto Serif KR',serif;font-size:24px;font-weight:700;letter-spacing:1px;display:flex;align-items:center;gap:10px}.hs-co .cchip{font-size:12px}.hs-sub{font-size:13px;opacity:.85;margin-top:4px}
h1{font-family:'Cormorant Garamond','Noto Serif KR',serif;letter-spacing:1px}
.quota{border:1px solid #e4dfcf;background:linear-gradient(180deg,#fff,#fbf9f3);box-shadow:0 10px 26px #0000000d;border-radius:20px}.quota.full{border-color:#e0a58f}
.drive{background:linear-gradient(115deg,#1f2c1e,#3e5e37 60%,#5e8452);border-radius:20px;box-shadow:0 12px 30px #0002}
.mypanel{border:1px solid #e4dfcf;background:linear-gradient(180deg,#fff,#fbfaf6 140px);box-shadow:0 12px 34px #0000000f;border-radius:24px}.mypanel::before{background:linear-gradient(90deg,#2e4a2e,#4f7a48);font-family:'Cormorant Garamond',serif;font-size:12px}
.livedash,.claim{border:1px solid #e4dfcf;border-radius:24px;box-shadow:0 10px 30px #0000000c;background:linear-gradient(180deg,#fff,#fcfbf7)}.livedash.busy{border-color:#7fb28a}
.grp-no{background:linear-gradient(135deg,#2e4a2e,#4f7a48);border-radius:10px}.grp-h h3,.grp-h h2{font-family:'Cormorant Garamond','Noto Serif KR',serif;letter-spacing:.5px}
.wcard{border-radius:20px;box-shadow:0 8px 24px #0000000f;border-color:#e4dfcf}.unit{border-radius:14px;box-shadow:0 4px 12px #0000000a;border-color:#e4dfcf}
.wblock{border-radius:22px;box-shadow:0 10px 30px #00000010;border-color:#e4dfcf}
.permtag{background:linear-gradient(135deg,#2e4a2e,#4f7a48)}.kindtag{background:linear-gradient(135deg,#2f6f8f,#4d9ab5)}
.wcards .wcard .wlabel,.unit .wlabel,.ld-worker .wlabel,.drive .wlabel{font-family:'Cormorant Garamond',serif;font-size:13.5px;letter-spacing:2px}

/* §479 업체 카드(admin_users) — 밝은 테마 전용. 워커 헤더용 .cotg(흰 글씨) 와 분리 */
.cocard{display:grid;grid-template-columns:1.1fr .9fr;gap:14px 22px;padding:16px 18px}
.cocard .cohead{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.cocard .cocode{font-family:var(--mono);font-weight:800;font-size:15px;background:#1c211a;color:#fff;padding:3px 10px;border-radius:8px}
.cocard .coname{font-weight:700;font-size:15px;color:#1c211a}
.cosec{background:#f8f7f2;border:1px solid var(--line2);border-radius:12px;padding:10px 12px}
.cosec h4{margin:0 0 8px;font-size:12px;color:#6b6f66;font-weight:700;letter-spacing:.2px}
.captags{display:flex;gap:6px;flex-wrap:wrap}
.captag{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;border:1.5px solid #cfd3c9;background:#fff;color:#4a4f45;font-size:12.5px;font-weight:600;cursor:pointer;user-select:none;transition:.15s}
.captag:hover{border-color:#7a9b64;color:#1c211a}
.captag.on{background:#2f6b3a;border-color:#2f6b3a;color:#fff;box-shadow:0 1px 4px #2f6b3a44}
.captag.on::before{content:"✓";font-size:11px}
.captag.all.on{background:#8a6a1e;border-color:#8a6a1e;box-shadow:0 1px 4px #8a6a1e44}
.cofees{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cofees label,.comemo label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6b6f66;font-weight:600}
.cofees input,.comemo textarea{width:100%;box-sizing:border-box;background:#fff;border:1px solid #cfd3c9;border-radius:8px;padding:7px 9px;color:#1c211a;font-size:13px}
.cofees input:focus,.comemo textarea:focus{outline:2px solid #7a9b6455;border-color:#7a9b64}
.coactions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.cocard .costats{display:flex;gap:8px;flex-wrap:wrap}
.cocard .costats>div{background:#fff;border:1px solid var(--line2);border-radius:10px;padding:6px 10px;min-width:64px;text-align:center}
.cocard .costats b{display:block;font-size:16px;color:#1c211a}.cocard .costats span{font-size:11px;color:#6b6f66}
.cocard .cofoot{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--line2);font-size:12.5px;color:#4a4f45}
.cocard .cofoot input[type=number]{width:64px;background:#fff;border:1px solid #cfd3c9;border-radius:8px;padding:4px 6px;color:#1c211a}
@media(max-width:900px){.cocard{grid-template-columns:1fr}}

/* §501b 스크립트 뷰어 레이아웃 보강(대표님 08-28: 글자 옆으로 튀어나감) */
.jobview{max-width:1100px;margin:0 auto}
.jobview h1{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;word-break:break-all}
.jobview h1 small{font-size:13px;color:#7a8390}
.jobview .card{overflow:hidden}
.jobview h3{margin:12px 0 6px;font-size:16px;line-height:1.45;word-break:break-word;overflow-wrap:anywhere}
.jobview details{margin:10px 0;border:1px solid #e3e6df;border-radius:12px;background:#fafbf7}
.jobview summary{cursor:pointer;padding:10px 14px;font-weight:700;font-size:13.5px;color:#3a4238;list-style:none;display:flex;gap:8px;align-items:center}
.jobview summary::before{content:'▸';color:#8a9286;transition:transform .15s}.jobview details[open] summary::before{transform:rotate(90deg)}
.jobview pre.script,.card pre.script{white-space:pre-wrap!important;word-break:break-word;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box;margin:0 10px 12px;font-size:12.5px;line-height:1.6;tab-size:2}
.jobview .meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:12.5px;color:#5c6560}

/* §502c AI패널 */
.aipanel{position:relative;z-index:15;margin:14px auto 0;width:min(1180px,calc(100% - 32px));border:1px solid #34483b;border-radius:18px;background:linear-gradient(145deg,#101914,#19271e 58%,#223324);color:#eef4ea;box-shadow:0 16px 40px #1018122b;overflow:hidden}
.ap-head{display:flex;align-items:center;min-height:62px}.ap-toggle{display:flex;align-items:center;gap:12px;flex:1;align-self:stretch;padding:12px 18px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ap-toggle>span:nth-child(2){display:grid;gap:2px}.ap-toggle b{font-size:14px;letter-spacing:.2px}.ap-toggle small{color:#a8b7a8;font-size:11.5px;font-weight:500}.ap-toggle i{width:8px;height:8px;margin-left:2px;border-right:1.5px solid #a8b7a8;border-bottom:1.5px solid #a8b7a8;transform:rotate(45deg);transition:transform .2s}.ap-spark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff22;border-radius:11px;background:linear-gradient(135deg,#769d62,#b39a4e);color:#fff9dc;box-shadow:0 6px 16px #0004;font-size:19px}.ap-status{margin-right:18px;padding:5px 10px;border-radius:999px;background:#d6a84a1c;color:#f2d08c;font-size:11.5px;font-weight:700}.ap-status:empty{display:none}.ap-head:has(+.ap-body:not([hidden])) .ap-toggle i{transform:rotate(225deg)}
.ap-body{border-top:1px solid #ffffff14;padding:16px 18px 18px;background:linear-gradient(180deg,#ffffff05,transparent);display:grid;gap:13px}.ap-body[hidden]{display:none}
.ap-input{display:grid;gap:7px}.ap-input>span,.ap-model>span{color:#aebaae;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ap-input textarea{box-sizing:border-box;width:100%;min-height:84px;resize:vertical;border:1px solid #ffffff1c;border-radius:12px;padding:11px 13px;background:#0c120f9c;color:#f4f6f1;font-family:inherit;font-size:14px;line-height:1.55}.ap-input textarea::placeholder{color:#758278}.ap-input textarea:focus{border-color:#83a971;box-shadow:0 0 0 3px #83a97125}
.ap-toolbar{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.ap-model{display:flex;align-items:center;gap:10px;flex:1 1 320px;min-width:0}.ap-model>span{flex:none}
.ap-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.ap-shortcut{color:#879589;font-size:10.5px;white-space:nowrap}.ap-shortcut kbd{padding:2px 5px;border:1px solid #ffffff24;border-bottom-color:#ffffff3d;border-radius:5px;background:#ffffff0b;color:#bfc9be;font-family:var(--mono);font-size:9.5px}
.ap-send{height:40px;padding:0 16px;background:linear-gradient(135deg,#688e57,#8a9a5b);box-shadow:none;white-space:nowrap}.ap-send:disabled{opacity:.55;cursor:wait}.ap-send.loading span{display:inline-block;animation:apspin .8s linear infinite}
.ap-refresh{width:40px;height:40px;padding:0;font-size:18px;color:#b7c2b7;border-color:#ffffff1e}
.ap-list{display:grid;gap:7px;margin-top:2px;padding-top:14px;border-top:1px solid #ffffff12}
@keyframes apspin{to{transform:rotate(360deg)}}
.ap-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:6px 10px;align-items:center}
.ap-row b{font-weight:600;font-size:13px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ap-row .badge{font-size:11px;padding:2px 8px;border-radius:999px;background:#25313d;color:#cfdbe6}
.ap-row.st-done .badge{background:#1f4a32;color:#bfe9cf}.ap-row.st-claimed .badge{background:#5a4514;color:#ffe2a8}.ap-row.st-pending .badge{background:#2c3e50;color:#d5e3f0}.ap-row.st-failed .badge,.ap-row.st-cancelled .badge{background:#5a2323;color:#ffc9c9}
.ap-row .ap-res{grid-column:1/-1}
.ap-row .muted{white-space:nowrap}
.ap-body .muted{color:#8b98a5}.ap-body .bad{color:#ff9a9a}
@media(max-width:700px){.aipanel{width:calc(100% - 20px);margin-top:10px;border-radius:15px}.ap-toggle{padding:10px 12px}.ap-toggle small{display:none}.ap-status{margin-right:12px}.ap-body{padding:13px}.ap-model{flex:1 1 100%;align-items:flex-start;flex-direction:column;gap:7px}.ap-actions{margin-left:0;width:100%}.ap-shortcut{display:none}.ap-send{flex:1;height:42px}.ap-refresh{height:42px}.ap-row{grid-template-columns:auto auto 1fr}.ap-row>.muted{display:none}}

/* §512 업체 카드 회원 명단·좌석 */
.seat{display:inline-block;padding:2px 10px;border-radius:999px;background:#e4f5ea;color:#1f6b3a;font-weight:800;font-size:12px;margin-left:6px}.seat.full{background:#fdeaea;color:#b23b3b}
.memtbl{width:100%;font-size:12.5px;margin-top:6px}.memtbl th{font-weight:700;color:#6b7368;text-align:left;padding:4px 6px;border-bottom:1px solid var(--line)}.memtbl td{padding:5px 6px;border-bottom:1px solid #eef0ea;vertical-align:middle}.memtbl tr.off td{opacity:.5}

/* §513 생성 이력 넘침 방지 */
.provgrid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.provgrid>.card{min-width:0}
.tscroll{overflow-x:auto;max-width:100%}.provtbl{width:100%;min-width:560px}.provtbl td{word-break:break-word;vertical-align:top}.errclip{cursor:pointer;display:inline-block;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.errclip:hover{text-decoration:underline}
@media(max-width:980px){.provgrid{grid-template-columns:1fr}}
/* §513 워커 현황 카드 */
.wcards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}
.wcard{position:relative;border:1px solid var(--line);border-radius:16px;background:var(--card);padding:14px 16px;box-shadow:var(--sh);border-left:8px solid var(--wc,#4a6b3a)}
.wcard.off{opacity:.55;filter:grayscale(.4)}
.wc-head{display:flex;align-items:flex-start;gap:10px}.wc-title{flex:1;min-width:0}.wc-title .wlink b{font-size:15px}.wc-sub{font-size:11.5px;color:#7b8378;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wc-agent{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;font-weight:700;white-space:nowrap}.wc-agent small{font-weight:400;color:#8a9286}
.wc-stats{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.wc-stats .stat{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#f1f3ec;font-size:12px;color:#4c5449}.wc-stats .stat b{font-size:13px}.wc-stats .stat.ok{background:#e4f5ea;color:#1f6b3a}.wc-stats .stat.none{opacity:.55}.wc-stats .stat.on{background:#e8f3ff;color:#1f4f8a}
.wc-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;border-top:1px dashed #e6e8e0;font-size:12.5px}.wc-k{color:#8a9286;font-weight:700;min-width:64px;font-size:11.5px}.wc-acts{margin-left:auto;display:flex;gap:4px}
.wc-more{border-top:1px dashed #e6e8e0;padding-top:6px;margin-top:2px}.wc-more summary{cursor:pointer;font-size:12px;color:#6b7368;font-weight:700}.wc-prov{font-size:12px;padding:4px 0}.wc-prov b{display:inline-block;min-width:66px}
/* §513 상세 팝업 */
.clickrow{cursor:pointer}.clickrow:hover td{background:#f6f8f2}
.apop-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.apop-h h3{margin:0}
.apop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 14px;margin-bottom:12px}.apop-r{display:flex;flex-direction:column;padding:6px 10px;border-radius:8px;background:#f5f7f1}.apop-r span{font-size:11px;color:#8a9286;font-weight:700}.apop-r b{font-size:13px;word-break:break-all}
.apop-bh{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:#6b7368;margin-bottom:4px}
#apopPre{white-space:pre-wrap;word-break:break-word;font:12px/1.55 var(--mono);background:#0f1418;color:#d7e0e6;padding:12px 14px;border-radius:10px;max-height:50vh;overflow:auto;margin:0}

.ap-body[hidden]{display:none!important}
.ap-res-w{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:12px;color:#b9c6d1}.ap-res-s{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jobview summary .cpbtn{margin-left:auto}.jobview .meta .wlabel{color:#fff;background:linear-gradient(115deg,var(--wc,#4a6b3a),#8fb26d);border-radius:999px;font-weight:800}
/* §530 워커 역할 태그 — WORKER 라벨과 같은 행(grid 1행 1열), ON=흰 배지 / OFF=점선 흐림 */
.whead.ahead>span.wlrow{grid-column:1!important;grid-row:1!important;display:flex;align-items:center;flex-wrap:wrap;gap:0;justify-self:start;margin:0}
.whead.ahead .wlrow>.wlabel{font-size:14px;padding:9px 14px}
.whead .wroles.hd{display:inline-flex;gap:5px;align-items:center;flex:none;margin:0 6px 0 16px}
.whead .wroles.hd .captag{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;font-family:var(--mono);font-size:8.5px;font-weight:800;letter-spacing:.4px;line-height:1.4;min-width:54px;padding:3px 8px 3px 6px;margin:0;border-radius:7px;cursor:pointer;color:#ffffffb3;background:transparent;border:1px dashed #ffffff80;text-shadow:none;transition:.15s}

/* 컨테이너 생성 업체 필터 — 0/2, 1/2, 2/2를 멀리서도 구분 */
.container-cap-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:-5px}.container-cap-legend[hidden]{display:none}.container-cap-legend span{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:9px;font-size:11.5px;font-weight:700;border:2px solid}.container-cap-legend b{font-family:var(--mono);font-size:13px}.container-cap-legend .free{color:#176236;background:#e9f8ee;border-color:#2f9857}.container-cap-legend .one{color:#82520b;background:#fff3d9;border-color:#e09a25}.container-cap-legend .full{color:#5b6269;background:#eef0f2;border-color:#8b949e}
.container-worker-pick .wopt.capacity-all{opacity:1!important;filter:none!important;cursor:pointer}.container-worker-pick .wopt.capacity-all::after{content:'선택 가능';position:absolute;right:9px;top:8px;padding:5px 9px;border-radius:8px;background:color-mix(in srgb,var(--wc) 14%,#fff);color:var(--wc);border:1px solid color-mix(in srgb,var(--wc) 55%,#fff);font-size:10.5px;font-weight:850;transition:.12s}.container-worker-pick .wopt.capacity-all:hover{z-index:3;transform:translateY(-5px) scale(1.018);outline:4px solid color-mix(in srgb,var(--wc) 70%,transparent);outline-offset:2px;background:color-mix(in srgb,var(--wc) 9%,#fff)!important;box-shadow:0 15px 30px color-mix(in srgb,var(--wc) 38%,transparent)!important}.container-worker-pick .wopt.capacity-all:hover::after{content:'클릭하여 선택';background:var(--wc);color:#fff;border-color:var(--wc);transform:scale(1.06)}.container-worker-pick .wopt.capacity-all:has(input:checked){z-index:2;outline:5px solid var(--wc)!important;outline-offset:2px;background:color-mix(in srgb,var(--wc) 16%,#fff)!important;box-shadow:0 12px 26px color-mix(in srgb,var(--wc) 42%,transparent)!important}.container-worker-pick .wopt.capacity-all:has(input:checked)::after{content:'선택됨';background:var(--wc);color:#fff;border-color:var(--wc);box-shadow:0 3px 9px color-mix(in srgb,var(--wc) 50%,transparent);transform:none}
.container-worker-pick .wopt.capacity-zero{opacity:1!important;filter:none!important;border:3px solid #2f9857!important;border-left-width:9px!important;background:linear-gradient(135deg,#f5fff7,#e5f7eb)!important;box-shadow:0 5px 14px #2f98572b!important}.container-worker-pick .wopt.capacity-zero:hover{z-index:3;transform:translateY(-5px) scale(1.018);outline:4px solid #2f985780;outline-offset:2px;box-shadow:0 15px 30px #1c713e55!important}.container-worker-pick .wopt.capacity-zero .wfilter-state{display:inline-flex;align-self:flex-start;margin-top:7px;padding:5px 9px;border-radius:8px;background:#217a43;color:#fff!important;font-size:12px;font-weight:850}.container-worker-pick .wopt.capacity-zero:has(input:checked){z-index:2;outline:5px solid #168344!important;outline-offset:2px;background:#d3f2dd!important;box-shadow:0 12px 26px #126b374f!important}.container-worker-pick .wopt.capacity-zero::after{content:'선택 가능';position:absolute;right:9px;top:8px;padding:5px 9px;border-radius:8px;background:#d5efde;color:#176236;border:1px solid #69ad7e;font-size:10.5px;font-weight:850;transition:.12s}.container-worker-pick .wopt.capacity-zero:hover::after{content:'클릭하여 선택';background:#176f3c;color:#fff;border-color:#176f3c;transform:scale(1.06)}.container-worker-pick .wopt.capacity-zero:has(input:checked)::after{content:'선택됨';background:#0e6031;color:#fff;border-color:#0e6031;box-shadow:0 3px 9px #0e603155;transform:none}
.container-worker-pick .wopt.capacity-one{opacity:1!important;filter:none!important;border:3px solid #e09a25!important;border-left-width:9px!important;background:linear-gradient(135deg,#fffdf7,#ffefc9)!important;box-shadow:0 5px 14px #c982182d!important}.container-worker-pick .wopt.capacity-one:hover{z-index:3;transform:translateY(-5px) scale(1.018);outline:4px solid #d98b1680;outline-offset:2px;box-shadow:0 15px 30px #a9681755!important}.container-worker-pick .wopt.capacity-one .wfilter-state{display:inline-flex;align-self:flex-start;margin-top:7px;padding:5px 9px;border-radius:8px;background:#b87312;color:#fff!important;font-size:12px;font-weight:850}.container-worker-pick .wopt.capacity-one:has(input:checked){z-index:2;outline:5px solid #bd7108!important;outline-offset:2px;background:#ffe3a3!important;box-shadow:0 12px 26px #9b5d124f!important}.container-worker-pick .wopt.capacity-one::after{content:'1개 추가 가능';position:absolute;right:9px;top:8px;padding:5px 9px;border-radius:8px;background:#ffebbd;color:#82520b;border:1px solid #dda04a;font-size:10.5px;font-weight:850;transition:.12s}.container-worker-pick .wopt.capacity-one:hover::after{content:'클릭하여 선택';background:#a96108;color:#fff;border-color:#a96108;transform:scale(1.06)}.container-worker-pick .wopt.capacity-one:has(input:checked)::after{content:'선택됨';background:#8c5205;color:#fff;border-color:#8c5205;box-shadow:0 3px 9px #8c520555;transform:none}
.container-worker-pick .wopt.capacity-full{opacity:.62!important;filter:grayscale(.9)!important;border:3px solid #7f8790!important;border-left-width:9px!important;background:repeating-linear-gradient(135deg,#e5e7e9 0 10px,#f2f3f4 10px 20px)!important;box-shadow:none!important;cursor:not-allowed!important}.container-worker-pick .wopt.capacity-full:hover{transform:none!important;box-shadow:none!important}.container-worker-pick .wopt.capacity-full .wfilter-state{display:inline-flex;align-self:flex-start;margin-top:7px;padding:5px 9px;border-radius:8px;background:#555d65;color:#fff!important;font-size:12px;font-weight:850}.container-worker-pick .wopt.capacity-full::after{content:'2/2  선택 불가';position:absolute;right:10px;top:9px;padding:4px 8px;border-radius:7px;background:#4f565d;color:#fff;font-family:var(--mono);font-size:10.5px;font-weight:850;letter-spacing:.2px}

/* 소유 업체는 식별·선택만 담당하고 용량 판정은 위 워커 카드에만 표시 */
#copts{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));align-items:stretch}#copts .copt{min-height:84px;padding:15px 104px 14px 15px!important;overflow:visible;border-radius:9px!important;border:1px solid #cbd6e4!important;border-top:5px solid #4777ad!important;background:linear-gradient(180deg,#fff,#f4f7fb)!important;box-shadow:0 3px 9px #365f8d16!important;opacity:1!important;filter:none!important;cursor:pointer}#copts .copt b{font-family:var(--mono);font-size:16px;color:#244d79;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#copts .copt>span{font-size:12px;color:#66788b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#copts .copt::after{content:'업체 선택';position:absolute;right:9px;top:10px;padding:5px 9px;border-radius:7px;background:#edf3fa;color:#315f91;border:1px solid #aec2d8;font-size:10.5px;font-weight:850;transition:.12s}#copts .copt:hover{z-index:3;transform:translateY(-5px) scale(1.018);outline:4px solid #3f75ad66;outline-offset:2px;border-color:#356da8!important;border-top-color:#1f5e9e!important;background:linear-gradient(180deg,#fff,#e7f0fa)!important;box-shadow:0 15px 30px #285c933d!important}#copts .copt:hover::after{content:'클릭하여 선택';background:#275f9b;color:#fff;border-color:#275f9b;transform:scale(1.06)}#copts .copt:has(input:checked){z-index:2;outline:5px solid #205b98!important;outline-offset:2px;border-color:#194f88!important;border-top-color:#123f70!important;background:linear-gradient(145deg,#dfeeff,#c9dff6)!important;box-shadow:0 12px 26px #1b538e4a!important}#copts .copt:has(input:checked)::after{content:'선택됨';background:#164c84;color:#fff;border-color:#164c84;box-shadow:0 3px 9px #164c8455;transform:none}
.container-pair-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 15px;border:2px solid #3b6fa7;border-radius:12px;background:linear-gradient(90deg,#eaf3fd,#f7fbff);box-shadow:0 5px 14px #24598d1c}.container-pair-summary b{flex:none;padding:5px 9px;border-radius:7px;background:#245b93;color:#fff;font-size:11.5px}.container-pair-summary span{font-family:var(--mono);font-size:12.5px;font-weight:750;color:#244d79}.container-pair-summary.bad{border-color:#b04b43;background:linear-gradient(90deg,#fdeceb,#fff8f7)}.container-pair-summary.bad b{background:#9b3f38}.container-pair-summary.bad span{color:#853a34}

/* 관리자 컨테이너 하단: 워커 필터 + 제목형 단일 펼침 상세 */
.container-detail-toolbar{margin:0 0 14px;padding:15px 17px;border:1px solid #dcd8cb;border-radius:16px;background:linear-gradient(180deg,#fff,#faf9f5);box-shadow:0 7px 20px #20291b0e}.cdt-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}.cdt-head>div{flex:1}.cdt-head h3{margin:0 0 2px;font-size:16px}.cdt-head p{margin:0;color:var(--mut);font-size:12px}.cdt-head strong{padding:6px 10px;border-radius:9px;background:#edf2e5;color:#465532;font-family:var(--mono);font-size:11.5px}.cdt-controls{display:grid;grid-template-columns:minmax(190px,270px) 1fr;gap:10px;align-items:start}.cdt-controls>input{height:36px;padding:7px 11px;font-size:12.5px}.cdt-filters{display:flex;gap:5px;flex-wrap:wrap}.cdt-filters button{border:1px solid var(--line2);border-radius:999px;background:#fff;color:var(--tx2);padding:7px 10px;font-family:inherit;font-size:11.5px;font-weight:750;cursor:pointer;transition:.12s}.cdt-filters button:hover{border-color:var(--ac2);background:var(--acs)}.cdt-filters button.on{border-color:var(--ac);background:var(--ac);color:#fff;box-shadow:0 3px 8px #4655322b}.cdt-filters button small{font-weight:500;opacity:.75}
.container-detail-list>.wblock[hidden]{display:none!important}.container-detail-list>.wblock{margin-bottom:10px}.container-detail-list>.wblock.detail-open{margin-bottom:24px;box-shadow:0 0 0 3px color-mix(in srgb,var(--wc) 55%,#fff),0 20px 38px -12px color-mix(in srgb,var(--wc) 45%,transparent)}.container-detail-list .detail-collapsed .wbody{display:none}.container-detail-list .detail-collapsed .whead.ahead{grid-template-columns:auto minmax(180px,1fr) auto;grid-template-rows:auto;align-items:center;column-gap:15px;min-height:82px;padding:12px 20px 32px}.container-detail-list .detail-collapsed .whead.ahead>span.wlrow{grid-column:1!important;grid-row:1!important}.container-detail-list .detail-collapsed .whead.ahead .wroles,.container-detail-list .detail-collapsed .whead.ahead>.wrun,.container-detail-list .detail-collapsed .wcompanies,.container-detail-list .detail-collapsed .wtools{display:none!important}.container-detail-list .detail-collapsed .whead.ahead>div:not(.right){grid-column:2;grid-row:1;align-self:center}.container-detail-list .detail-collapsed .whead.ahead>.whr-col{grid-column:3;grid-row:1;align-self:center}.container-detail-list .detail-collapsed .wstats .stat{min-width:52px;padding:4px 7px}.container-detail-list .detail-collapsed .wstats .stat b{font-size:16px}.container-detail-list .detail-collapsed .wstats .stat span{font-size:8.5px}.container-detail-list .detail-collapsed .wmeta{white-space:nowrap}.container-detail-list .whead:focus-visible{outline:4px solid #fff;outline-offset:-7px}.detail-fold-hint{position:absolute!important;z-index:4!important;right:18px;bottom:6px;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid #ffffff66;border-radius:999px;background:#00000036;color:#fff;font-size:10.5px;font-weight:750;text-shadow:none}.detail-fold-hint i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.18s}.detail-open .detail-fold-hint i{transform:rotate(225deg) translate(-1px,-1px)}.container-detail-list .detail-open>.whead{padding-bottom:42px}.container-detail-list .whead:hover .detail-fold-hint{background:#fff;color:var(--wc);border-color:#fff}.container-detail-list .detail-collapsed:hover{transform:translateY(-2px);box-shadow:0 0 0 3px color-mix(in srgb,var(--wc) 55%,#fff),0 12px 24px -10px color-mix(in srgb,var(--wc) 42%,transparent)}
@media(max-width:900px){.cdt-controls{grid-template-columns:1fr}.container-detail-list .detail-collapsed .whead.ahead{grid-template-columns:1fr;grid-template-rows:auto auto auto}.container-detail-list .detail-collapsed .whead.ahead>span.wlrow,.container-detail-list .detail-collapsed .whead.ahead>div:not(.right),.container-detail-list .detail-collapsed .whead.ahead>.whr-col{grid-column:1!important;grid-row:auto!important;justify-self:stretch}.container-detail-list .detail-collapsed .wstats{flex-wrap:wrap}.cdt-head{flex-wrap:wrap}}

/* admin_workers — 운영 대시보드와 정렬형 카드 */
.worker-admin-overview{margin:0 0 17px;padding:18px 20px;border:1px solid #dcd7c8;border-radius:20px;background:linear-gradient(135deg,#263126,#43513b 55%,#687750);color:#fff;box-shadow:0 14px 34px #29351f24}.wao-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.wao-title h3{margin:0 0 3px;font-size:17px}.wao-title p{margin:0;color:#ffffffb5;font-size:12.5px}.wao-updated{font-size:11px;color:#ffffffad;padding:5px 8px;border:1px solid #ffffff28;border-radius:8px;background:#ffffff0c}.wao-metrics{display:grid;grid-template-columns:repeat(6,minmax(96px,1fr)) minmax(180px,1.5fr);gap:7px}.wao-metrics>span,.wao-metrics>button{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:end;min-width:0;padding:9px 11px;border:1px solid #ffffff26;border-radius:11px;background:#ffffff0e;color:#fff;text-align:left;font-family:inherit}.wao-metrics>button{cursor:pointer;transition:.15s}.wao-metrics>button:hover{background:#fff;color:#2d382b;transform:translateY(-2px);box-shadow:0 8px 18px #1720152e}.wao-metrics small{grid-column:1/3;font-size:10.5px;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wao-metrics b{font-family:var(--mono);font-size:21px;line-height:1.1}.wao-metrics i{font-style:normal;font-size:10.5px;opacity:.65;margin-left:4px}.wao-metrics .live b{color:#a9efbd}.wao-filter{display:grid;grid-template-columns:minmax(210px,300px) 1fr auto;gap:9px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #ffffff1f}.wao-filter input{height:37px;border-color:#ffffff38;background:#ffffffed;font-size:12.5px}.wao-filter>div{display:flex;gap:5px;flex-wrap:wrap}.wao-filter button{padding:7px 11px;border-radius:999px;border:1px solid #ffffff38;background:#ffffff0e;color:#ffffffc7;font-family:inherit;font-size:11.5px;font-weight:750;cursor:pointer}.wao-filter button:hover,.wao-filter button.on{background:#fff;color:#31402d;border-color:#fff}.wao-filter strong{font-family:var(--mono);font-size:11px;color:#fff;white-space:nowrap}
.admin-worker-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(440px,1fr))!important;gap:15px!important;padding-top:0!important;align-items:stretch}.admin-worker-grid>.admin-worker-card[hidden]{display:none!important}.admin-worker-grid .admin-worker-card{display:flex;flex-direction:column;min-width:0;min-height:345px;margin:0;padding:0!important;overflow:hidden;border:1px solid #dedbcf!important;border-left:0!important;border-top:7px solid var(--wc)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 24px #20281b10!important;transform:none}.admin-worker-grid .admin-worker-card:hover{transform:translateY(-3px)!important;border-color:color-mix(in srgb,var(--wc) 45%,#ddd)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--wc) 32%,transparent),0 18px 32px -12px color-mix(in srgb,var(--wc) 38%,transparent)!important}.admin-worker-grid .admin-worker-card.off{opacity:.72;filter:grayscale(.35)}
.admin-worker-card .wc-head{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px 17px 13px;background:linear-gradient(135deg,color-mix(in srgb,var(--wc) 8%,#fff),#fff 65%);border-bottom:1px solid #ebe8de}.wc-node{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:55px;border-radius:11px;background:var(--wc);color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--wc) 35%,transparent)}.wc-node small{font-size:7.5px;letter-spacing:1px;opacity:.8}.wc-node b{font-family:var(--mono);font-size:17px;line-height:1.2}.admin-worker-card .wc-title{min-width:0;padding-top:1px}.admin-worker-card .wc-title .wlink{display:flex;align-items:center;gap:7px;min-width:0;color:#273023}.admin-worker-card .wc-title .wlink b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-worker-card .wc-title .wlink i{flex:none;padding:2px 6px;border-radius:999px;background:#edf1e8;color:#65715f;font-style:normal;font-size:8.5px;font-weight:750}.admin-worker-card .wc-sub{margin-top:5px;color:#596356;font-size:11.5px}.wc-infra{margin-top:3px;color:#889087;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wc-infra span{margin:0 3px;color:#bdc2ba}.admin-worker-card .wc-agent{display:flex;align-items:flex-end;gap:3px;padding:7px 9px;border:1px solid;border-radius:10px;background:#f7f8f5;font-size:10.5px}.admin-worker-card .wc-agent>span{display:flex;align-items:center;gap:5px;font-weight:800}.admin-worker-card .wc-agent.online{color:#276c3d;border-color:#b8d9c1;background:#edf8f0}.admin-worker-card .wc-agent.offline{color:#955047;border-color:#e2c4c0;background:#fbf1f0}.admin-worker-card .wc-agent small{font-size:9.5px;color:inherit;opacity:.72}
.wc-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0 16px;border:1px solid #e4e2da;border-radius:12px;overflow:hidden;transform:translateY(10px);background:#fff;box-shadow:0 5px 14px #242b1c0c}.wc-metrics>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:8px 5px;border-right:1px solid #e8e6df}.wc-metrics>span:last-child{border-right:0}.wc-metrics small{font-size:8.5px;letter-spacing:.3px;color:#899087;text-transform:uppercase;white-space:nowrap}.wc-metrics b{font-family:var(--mono);font-size:17px;color:#343b31}.wc-metrics b i{font-style:normal;font-size:9px;color:#9ba198}.wc-metrics .live{background:#edf8f0}.wc-metrics .live b{color:#26703e}.wc-metrics .ready b{color:#315e8d}.wc-metrics .none{background:#faf9f6}.wc-metrics .none b{color:#a7aaa4}
.admin-worker-card .wc-info{display:grid;grid-template-rows:minmax(50px,auto) 43px;margin-top:19px;padding:0 17px}.admin-worker-card .wc-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:9px;padding:8px 0;border-top:1px dashed #e2e4dc}.admin-worker-card .wc-k{min-width:0;font-size:10.5px;letter-spacing:.3px}.admin-worker-card .wc-v{min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.admin-worker-card .wc-empty{color:#9a9f97;font-size:11.5px}.admin-worker-card .chips{gap:4px}.admin-worker-card .cchip{font-size:10.5px;padding:2px 8px}
.admin-worker-card .wc-more{margin:0 17px;border-top:1px solid #e5e4dd;padding:0}.admin-worker-card .wc-more summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 2px;list-style:none;color:#697168;font-size:11.5px}.admin-worker-card .wc-more summary::-webkit-details-marker{display:none}.admin-worker-card .wc-more summary i{font-style:normal;padding:3px 7px;border-radius:999px;background:#f0f2ec;color:#7b8377;font-size:9.5px}.admin-worker-card .wc-more[open] summary i{background:var(--wc);color:#fff}.admin-worker-card .wc-more[open] summary i{font-size:0}.admin-worker-card .wc-more[open] summary i::after{content:'접기';font-size:9.5px}.wc-more-body{padding:3px 0 8px;border-top:1px dashed #e4e5df}.admin-worker-card .wc-prov{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:start;gap:7px;padding:7px 0;border-bottom:1px dashed #ecece7}.admin-worker-card .wc-prov:last-child{border-bottom:0}.admin-worker-card .wc-prov>b{min-width:0;color:#4e584b;font-size:10.5px}.admin-worker-card .wc-prov>div{min-width:0}
.admin-worker-card .wc-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:auto 17px 15px;padding-top:11px;border-top:1px solid #e5e4dd}.admin-worker-card .wc-acts .btn{width:100%;min-width:0;padding:7px 6px;font-size:10.5px}.worker-request-card{overflow:auto}
@media(max-width:1100px){.wao-metrics{grid-template-columns:repeat(4,1fr)}.wao-filter{grid-template-columns:1fr}.wao-filter strong{justify-self:start}.admin-worker-grid{grid-template-columns:1fr!important}}
@media(max-width:620px){.worker-admin-overview{padding:15px}.wao-metrics{grid-template-columns:repeat(2,1fr)}.admin-worker-card .wc-head{grid-template-columns:54px minmax(0,1fr)}.wc-node{width:54px}.admin-worker-card .wc-agent{grid-column:1/3;align-items:flex-start}.wc-metrics{grid-template-columns:repeat(5,minmax(52px,1fr));overflow-x:auto}.admin-worker-card .wc-row{grid-template-columns:1fr}.admin-worker-card .wc-acts{grid-template-columns:1fr}.wao-title{flex-wrap:wrap}}
.whead .wroles.hd .captag.esxi{min-width:78px;padding-right:10px}
.whead .wroles.hd .captag.on{color:#1c211a;background:#fff;border:1px solid #fff;box-shadow:0 3px 10px #0004}
.whead .wroles.hd .captag.on.fixed{background:#f1efe6}
.whead .wroles.hd .captag:not(.on):hover{border-style:solid;color:#fff}
.whead .wroles.hd .captag.fixed{cursor:default}
.whead .wroles.hd .captag input{width:10px;height:10px;margin:0;flex:none;cursor:inherit;accent-color:#1c211a}
.whead .wroles.hd .captag:not(.on) input{accent-color:#fff;opacity:.7}
.whead .wroles.hd .captag input:disabled{opacity:.9}
.whead .wroles.hd .captag small{opacity:.75;margin-left:2px}
/* §542 AI패널 UX 표준(rq:65123) — 완료이력 2~3개만 노출 후 스크롤 / Shift+"+" 패널 hidden 토글
   §544 AI패널 레이아웃 재설계(rq:67761) — 세로 리스트바 → 가로 세그먼트 칩(공간 효율) · 요청창 풀폭 · 단일 액션바(모델+단축키+새로고침+전송) */
.aipanel.ap-hidden{display:none!important}
.ap-list{max-height:216px;overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-width:thin;scrollbar-color:#3c5343 transparent;overscroll-behavior:contain}
.ap-list::-webkit-scrollbar{width:8px}
.ap-list::-webkit-scrollbar-thumb{background:#3c5343;border-radius:999px}
.ap-list::-webkit-scrollbar-track{background:transparent}
.ap-modellist{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.ap-mi{display:inline-flex;align-items:center;padding:7px 13px;border:1px solid #ffffff1f;border-radius:999px;background:#0c120f9c;color:#cdd8ca;font:600 12.5px/1 inherit;cursor:pointer;transition:.12s;white-space:nowrap}
.ap-mi:hover{background:#ffffff12;color:#f2f6ee;border-color:#ffffff33}
.ap-mi.on{background:linear-gradient(135deg,#688e57,#8a9a5b);border-color:#a7c68d;color:#fff9ec;box-shadow:0 4px 12px #0003}
.ap-mi:focus-visible{outline:2px solid #83a971;outline-offset:1px}
@media(max-width:700px){.ap-list{max-height:196px}}

/* ═══════════════════════════════════════════════════════════════
   v3.11 — 전체 화면 상호작용·선택 상태 고도화
   ═══════════════════════════════════════════════════════════════ */
:focus-visible{outline:3px solid color-mix(in srgb,var(--ac) 58%,#fff);outline-offset:3px}
.app-shell .top{box-shadow:0 7px 24px #28301e0b}.app-shell .top nav a{position:relative;transition:color .16s,background .16s,transform .16s}.app-shell .top nav a:hover{background:var(--acs);border-radius:9px 9px 0 0;transform:translateY(-1px)}.app-shell .top nav a.on{background:linear-gradient(180deg,transparent 40%,var(--acs));font-weight:800}
.app-shell main.wrap>h1{padding:18px 22px;margin:0 0 18px;border:1px solid #ded9cb;border-radius:18px;background:linear-gradient(120deg,#fffdf9 0%,#f4f3ea 65%,#e8ecdc 100%);box-shadow:0 9px 26px #252d1e0e;position:relative;overflow:hidden}.app-shell main.wrap>h1::after{content:'';position:absolute;width:170px;height:170px;border:35px solid #73805a10;border-radius:50%;right:-45px;top:-75px}
.page-tasks main.wrap,.page-aipkg main.wrap,.page-members main.wrap,.page-admin_provision main.wrap,.page-admin_users main.wrap,.page-admin_api main.wrap{max-width:1480px}
.page-tasks .card,.page-aipkg .card,.page-members .card,.page-admin_provision .card,.page-admin_users .card,.page-admin_api .card{border-color:#ddd8ca;box-shadow:0 5px 18px #20291b0b;transition:transform .18s,border-color .18s,box-shadow .18s}.page-tasks .card:hover,.page-aipkg .card:hover,.page-members .card:hover,.page-admin_provision .card:hover,.page-admin_users .card:hover,.page-admin_api .card:hover{transform:translateY(-2px);border-color:#c8cdb8;box-shadow:0 16px 34px #26321e14}
.app-shell table tr:not(:first-child){transition:background .14s,box-shadow .14s}.app-shell table tr:not(:first-child):hover td{background:#f4f6ed}.app-shell table tr:not(:first-child):has(button:hover) td,.app-shell table tr:not(:first-child):has(a:hover) td{background:#edf2e4}
.app-shell .pick .opt:not(:has(input:disabled)):hover{z-index:2;transform:translateY(-3px);border-color:var(--ac2);background:#fbfcf7;box-shadow:0 10px 22px #3543251b}.app-shell .pick .opt:has(input:checked){border-width:2px;box-shadow:0 0 0 4px #6f82502a,0 9px 22px #35432518}.app-shell .pick .opt:has(input:checked)::after{content:'선택됨';position:absolute;right:8px;top:7px;padding:3px 7px;border-radius:999px;background:var(--ac);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.2px}
.app-shell .tabs{gap:6px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#ece9df;margin-bottom:22px}.app-shell .tabs a{border:1px solid transparent;border-radius:9px;margin:0;padding:8px 14px;transition:.15s}.app-shell .tabs a:hover{background:#ffffffb8}.app-shell .tabs a.on{background:#fff;border-color:#d8d4c8;box-shadow:0 3px 10px #222a1c12;color:var(--ac)}
.page-admin_provision .provgrid{grid-template-columns:minmax(620px,1.25fr) minmax(430px,.75fr)}.page-admin_provision .provhist{position:sticky;top:80px;align-self:start}.page-admin_users .cocard{transition:transform .18s,box-shadow .18s,border-color .18s}.page-admin_users .cocard:hover{transform:translateY(-3px);box-shadow:0 18px 34px #2b35221a;border-color:#bdc7a8}.page-admin_api .card:first-of-type{border-top:5px solid var(--ac)}.page-members .grid>.card:first-child{border-top:5px solid #4d6887}.page-members .grid>.card:last-child{border-top:5px solid var(--ac)}.page-aipkg .step-box{transition:.16s}.page-aipkg .step-box:hover{transform:translateX(4px);border-color:var(--ac2);background:#f7f9f1}
@media(max-width:1080px){.page-admin_provision .provgrid{grid-template-columns:1fr}.page-admin_provision .provhist{position:static}}
.page-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin:-8px 0 18px}.page-metrics>span{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:end;padding:12px 14px;border:1px solid #dcd9ce;border-radius:13px;background:#fff;box-shadow:0 5px 14px #27301f09;transition:.15s}.page-metrics>span:hover{transform:translateY(-3px);border-color:#aab695;box-shadow:0 10px 20px #27351d14}.page-metrics small{grid-column:1/3;color:var(--mut);font-size:10.5px}.page-metrics b{font-family:var(--mono);font-size:23px;line-height:1.15}.page-metrics i{font-style:normal;color:var(--mut);font-size:10px}.page-metrics .live{display:grid;color:var(--ok);border-color:#b9d6c0;background:var(--oks)}.page-metrics .danger{border-color:#e4c4be;background:#fff7f6}.console-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 25px;margin-bottom:13px;border-radius:21px;background:linear-gradient(125deg,#1f2b1c,#394930 58%,#61724f);color:#fff;box-shadow:0 18px 38px #28341f27;overflow:hidden;position:relative}.console-hero::after{content:'';position:absolute;width:260px;height:260px;border:42px solid #ffffff08;border-radius:50%;right:-80px;top:-110px}.console-hero>div{position:relative;z-index:1}.console-hero>div>span{font-family:var(--mono);font-size:9.5px;letter-spacing:1.4px;color:#aebda3}.console-hero h1{margin:3px 0 2px;font-size:27px}.console-hero p{margin:0;color:#c1cabe;font-size:12px}.console-hero-stats{display:flex;gap:7px}.console-hero-stats span{display:flex;flex-direction:column;align-items:center;min-width:90px;padding:9px;border:1px solid #ffffff24;border-radius:11px;background:#ffffff0d;font-size:9.5px;color:#bdc8b9}.console-hero-stats b{font-family:var(--mono);font-size:19px;color:#fff}.lead-admin-overview{display:grid;grid-template-columns:1fr repeat(3,110px);gap:8px;align-items:stretch;padding:17px 19px;margin-bottom:15px;border:1px solid #d7ddca;border-radius:17px;background:linear-gradient(135deg,#f7f9f2,#e8efde);box-shadow:0 8px 20px #2c38220d}.lead-admin-overview>div span{font-family:var(--mono);font-size:9px;letter-spacing:1.2px;color:#6b7c59}.lead-admin-overview h3{margin:2px 0;font-size:18px}.lead-admin-overview p{margin:0;color:var(--mut);font-size:11.5px}.lead-admin-overview>span{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d5dacb;border-radius:11px;background:#fff}.lead-admin-overview>span small{color:var(--mut);font-size:9.5px}.lead-admin-overview>span b{font-family:var(--mono);font-size:20px}.lead-admin-overview>span.warn{border-color:#e5cea0;background:#fff9ec;color:var(--warn)}.lead-admin-overview>span.ok{border-color:#bed8c5;background:#f1faf3;color:var(--ok)}.lead-admin-card table{min-width:1080px}.lead-admin-card td{vertical-align:top}.lead-admin-card td:nth-child(4){max-width:420px}
@media(max-width:800px){.console-hero{align-items:flex-start;flex-direction:column}.console-hero-stats{width:100%;overflow:auto}.console-hero-stats span{flex:1}.lead-admin-overview{grid-template-columns:repeat(3,1fr)}.lead-admin-overview>div{grid-column:1/4}}

/* ── 미등록 번호 → 상담 전환 ── */
.login-lead{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.login-lead[hidden]{display:none}.login-lead-head{padding:16px;border-radius:14px;background:linear-gradient(135deg,#263321,#5b6e43);color:#fff;margin-bottom:14px}.login-lead-head span{display:inline-flex;padding:3px 8px;border:1px solid #ffffff40;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.6px}.login-lead-head b{display:block;margin:9px 0 4px;font-size:16px;line-height:1.4}.login-lead-head p{margin:0;color:#ffffffbd;font-size:12px}.login-lead textarea{min-height:82px;font-family:var(--sans)}
.lead-choice-title{margin:4px 0 -5px;color:var(--tx2);font-size:12.5px;font-weight:750}.lead-choice-title small{color:var(--mut);font-weight:500}.lead-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.login-lead .lead-choice{grid-template-columns:repeat(3,1fr)}.lead-choice label{display:block!important}.lead-choice input{position:absolute;opacity:0;pointer-events:none}.lead-choice span{display:grid;place-items:center;min-height:42px;padding:7px;border:1.5px solid var(--line2);border-radius:10px;background:#fff;color:var(--tx2);font-size:12px;font-weight:700;cursor:pointer;transition:.15s}.lead-choice span:hover{border-color:var(--ac2);transform:translateY(-2px);box-shadow:0 7px 15px #35432515}.lead-choice input:checked+span{border-color:var(--ac);background:var(--acs);color:var(--ac);box-shadow:0 0 0 3px #778a5725}.lead-choice input:focus-visible+span{outline:3px solid #8a9a5b55;outline-offset:2px}.lead-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;color:var(--mut)!important;font-size:11.5px!important;font-weight:500!important;line-height:1.5}.lead-consent input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--ac);flex:none}.lead-form-status{min-height:0;font-size:12.5px}.lead-form-status.busy{color:var(--mut)}.lead-form-status.bad{padding:10px 12px;border-radius:10px;background:var(--bads);color:var(--bad)}.lead-form-status.ok{display:flex;flex-direction:column;gap:2px;padding:13px 14px;border-radius:12px;background:var(--oks);color:var(--ok);border:1px solid #c5dccb}.lead-form-status.ok span{font-size:11.5px}.btn.loading::before{content:'';width:12px;height:12px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:rot .7s linear infinite}
.lead-stage[hidden],.lead-analysis[hidden]{display:none!important}.lead-analysis{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 5px}.analysis-signal{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;position:relative;margin-bottom:23px;background:radial-gradient(circle at 38% 30%,#70875a,#2b3b25 68%);color:#fff;box-shadow:0 18px 40px #24351d42}.analysis-signal b{font-family:var(--mono);font-size:12px;letter-spacing:1.5px}.analysis-signal>i,.analysis-signal>span{position:absolute;inset:-12px;border:1px solid #81966d69;border-radius:50%;animation:analysis-ring 2.2s ease-out infinite}.analysis-signal>span{inset:-27px;animation-delay:.75s}.lead-analysis h3{margin:0 0 8px;font-size:20px}.lead-analysis p{min-height:44px;margin:0;color:#66705f;font-size:13px;line-height:1.65}.lead-analysis small{margin-top:10px;color:#9a9f96;font-size:10.5px}.analysis-progress{height:7px;width:min(360px,90%);margin-top:24px;border-radius:99px;background:#e6e8df;overflow:hidden}.analysis-progress i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#8aa16e,#405637);animation:analysis-load var(--analysis-ms,8s) cubic-bezier(.2,.75,.2,1) forwards}.lead-contact{display:grid;gap:13px}.lead-possible{padding:3px 0 16px;border-bottom:1px solid #e1e3da}.lead-possible>span{display:inline-flex;padding:4px 8px;border-radius:99px;background:#e5efdc;color:#3f6638;font-size:10px;font-weight:850}.lead-possible h3{margin:10px 0 5px;font-size:21px;letter-spacing:-.5px}.lead-possible p{margin:0;color:#697164;font-size:12.5px;line-height:1.65}.lead-summary{padding:13px 15px;border:1px solid #dde2d5;border-radius:12px;background:#f7f8f3}.lead-summary small{display:block;color:#829077;font-size:10px}.lead-summary b{display:block;margin-top:2px;color:#3d5234;font-size:14px}.lead-summary p{margin:6px 0 0;color:#747b70;font-size:11.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lead-restart{justify-self:center;border:0;background:none;color:#8b9285;font-size:11px;text-decoration:underline;cursor:pointer}.lead-restart:hover{color:#46563d}.lead-flow.submitted .lead-restart{display:none}
.keyword-difficulty-reveal[hidden]{display:none!important}.keyword-difficulty-reveal{width:min(440px,96%);margin-top:22px;padding:17px 18px 15px;border:1px solid #d9ded1;border-radius:16px;background:#fffdf8;box-shadow:0 16px 38px #2f3d2720;text-align:left;animation:difficulty-pop .48s cubic-bezier(.2,.9,.25,1.2)}.keyword-difficulty-reveal header,.difficulty-verdict{display:flex;align-items:center;justify-content:space-between;gap:12px}.keyword-difficulty-reveal header span{color:#70796a;font-size:10px;font-weight:850;letter-spacing:.7px}.keyword-difficulty-reveal header b{color:#283322;font:750 13px var(--mono)}.keyword-difficulty-reveal header em{font-size:25px;font-style:normal}.difficulty-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin:13px 0 11px}.difficulty-scale i{height:12px;border-radius:4px;background:#e8e9e3;transform:scaleY(.72);transition:background .25s,transform .35s}.keyword-difficulty-reveal[data-tone=low] .difficulty-scale i.on{background:linear-gradient(180deg,#6daa72,#4c8755)}.keyword-difficulty-reveal[data-tone=mid] .difficulty-scale i.on{background:linear-gradient(180deg,#e5b052,#c8862e)}.keyword-difficulty-reveal[data-tone=high] .difficulty-scale i.on{background:linear-gradient(180deg,#df7456,#bb4439)}.difficulty-scale i.on{transform:scaleY(1)}.difficulty-verdict strong{font-size:19px;color:#263120}.difficulty-verdict span{padding:5px 9px;border-radius:99px;font-size:10px;font-weight:850}.keyword-difficulty-reveal[data-tone=low] .difficulty-verdict span{background:#e7f2e5;color:#377243}.keyword-difficulty-reveal[data-tone=mid] .difficulty-verdict span{background:#fff0d3;color:#9a631e}.keyword-difficulty-reveal[data-tone=high] .difficulty-verdict span{background:#fee6df;color:#a33c31}.difficulty-keywords{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}.difficulty-keywords span{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border-radius:8px;background:#f1f3ec;color:#5f6958;font-size:9.5px}.difficulty-keywords span b{color:#35432e}.keyword-difficulty-reveal>p{min-height:0!important;margin:10px 0 0!important;padding-top:9px;border-top:1px solid #e9ebe4;color:#92988d!important;font-size:9.5px!important}.lead-analysis.is-revealed .analysis-signal{width:72px;height:72px;margin-bottom:15px}.lead-analysis.is-revealed .analysis-signal>i,.lead-analysis.is-revealed .analysis-signal>span{animation-play-state:paused;opacity:.2}.lead-analysis.is-revealed .analysis-progress{display:none}@keyframes difficulty-pop{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes analysis-ring{0%{opacity:.9;transform:scale(.78)}75%,100%{opacity:0;transform:scale(1.18)}}@keyframes analysis-load{0%{width:2%}35%{width:42%}68%{width:73%}90%{width:91%}100%{width:100%}}

/* ═══════════════════════════════════════════════════════════════
   공개 GEO·AEO 랜딩
   ═══════════════════════════════════════════════════════════════ */
.landing-growth{--dark:#1e281b;--dark2:#2b3825;background:#f7f4ed;color:#172015}.landing-growth .lnav{height:72px;padding:0 max(24px,5vw);background:#f9f7f1e8;border-color:#26351d1a}.landing-growth .lbrand{display:flex;align-items:center;gap:9px}.landing-growth .brand-mark{display:inline-block}.landing-growth .lnav nav a{font-size:13px;color:#56604f;transition:.15s}.landing-growth .lnav nav a:not(.btn):hover{color:#1f2c1b;text-decoration:none;transform:translateY(-1px)}.landing-growth .lnav .btn.ghost{background:#26341f;color:#fff;border-color:#26341f;padding:9px 15px}.landing-growth main{overflow:hidden}
.growth-hero{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(480px,.97fr);align-items:center;gap:clamp(40px,6vw,88px);max-width:1420px;min-height:calc(100vh - 72px);margin:0 auto;padding:70px max(28px,5vw) 86px;position:relative}.growth-hero::before{content:'';position:absolute;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,#aebd8d35,transparent 68%);left:-330px;top:-100px;pointer-events:none}.growth-copy{position:relative;z-index:2}.growth-kicker{display:flex;align-items:center;gap:10px;margin:0 0 24px;color:#687854;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:2px}.growth-kicker i{width:9px;height:9px;border-radius:50%;background:#63784b;box-shadow:0 0 0 6px #788b5b22;animation:livepulse 2s infinite}.growth-copy h1{font-family:var(--serif);font-size:clamp(43px,4.6vw,70px);line-height:1.14;letter-spacing:-2.7px;margin:0 0 27px;color:#172015}.growth-copy h1 em{font-style:normal;color:#52663e;position:relative;white-space:nowrap}.growth-copy h1 em::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:9px;background:#b7c49b55;z-index:-1;border-radius:999px}.growth-lead{max-width:690px;margin:0 0 30px;color:#5a6254;font-size:18px;line-height:1.82;letter-spacing:-.2px}.growth-cta{display:flex;align-items:center;gap:25px}.growth-cta .btn{padding:15px 23px;box-shadow:0 12px 25px #35472a2c}.text-link{display:inline-flex;gap:8px;align-items:center;color:#34432d;font-size:14px;font-weight:750}.text-link span{transition:.15s}.text-link:hover{text-decoration:none}.text-link:hover span{transform:translateX(5px)}.growth-proof{display:flex;flex-wrap:wrap;gap:18px;margin-top:38px;padding-top:22px;border-top:1px solid #dcd9ce}.growth-proof span{display:flex;align-items:center;gap:7px;color:#72796c;font-size:11.5px}.growth-proof b{font-family:var(--mono);font-size:10px;letter-spacing:.8px;color:#4e613c;padding:4px 6px;border-radius:6px;background:#e6eadb}
.signal-stage{height:570px;position:relative;border:1px solid #ffffff25;border-radius:38px;background:radial-gradient(circle at 50% 44%,#647b4d 0%,#34452d 35%,#1e291b 72%);box-shadow:0 38px 80px #26321c35,inset 0 1px 0 #ffffff24;overflow:hidden}.signal-stage::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent)}.signal-stage::after{content:'';position:absolute;inset:-40%;background:conic-gradient(from 90deg,transparent,#c7daa817,transparent 30%);animation:signalspin 16s linear infinite}@keyframes signalspin{to{transform:rotate(360deg)}}.signal-orbit{position:absolute;left:50%;top:45%;border:1px solid #d5e5bf2b;border-radius:50%;transform:translate(-50%,-50%);z-index:1}.signal-orbit.o1{width:260px;height:260px}.signal-orbit.o2{width:440px;height:440px;border-style:dashed;animation:orbit 22s linear infinite}@keyframes orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}.signal-core{position:absolute;left:50%;top:45%;width:144px;height:144px;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#f3f4e9;color:#26331f;box-shadow:0 0 0 16px #ffffff0d,0 20px 45px #0005}.signal-core img{width:42px;height:42px;margin-bottom:5px}.signal-core small{font-family:var(--mono);font-size:8px;letter-spacing:2px;color:#79866c}.signal-core b{font-size:15px}.signal-node{position:absolute;z-index:4;display:flex;flex-direction:column;min-width:175px;padding:12px 14px;border:1px solid #ffffff30;border-radius:13px;background:#ffffffed;color:#24301f;box-shadow:0 12px 30px #0004;animation:floaty 5s ease-in-out infinite}.signal-node small{color:#74806b;font-size:9.5px;letter-spacing:.6px}.signal-node b{font-size:12.5px;margin-top:2px}.signal-node.n1{left:7%;top:16%}.signal-node.n2{right:5%;top:23%;animation-delay:-1.2s}.signal-node.n3{left:6%;bottom:18%;animation-delay:-2.4s}.signal-node.n4{right:7%;bottom:14%;animation-delay:-3.5s}@keyframes floaty{50%{transform:translateY(-8px)}}.signal-status{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:9px;min-width:max-content;padding:9px 14px;border:1px solid #ffffff24;border-radius:999px;background:#0d130dc9;color:#cbd6c2;font-size:10.5px;letter-spacing:.3px}.signal-status i{width:7px;height:7px;border-radius:50%;background:#83bd70;box-shadow:0 0 0 5px #83bd701c;animation:livepulse 1.7s infinite}
.question-strip{padding:0 max(24px,5vw)}.question-strip>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;max-width:1260px;margin:0 auto;padding:24px 29px;border-radius:18px;background:#202b1d;color:#fff;box-shadow:0 18px 40px #26321d25}.question-strip span{font-size:10px;letter-spacing:1.2px;color:#aebba4;text-transform:uppercase}.question-strip b{font-family:var(--serif);font-size:20px}.question-strip small{color:#aeb6a8;font-size:11.5px}
.growth-section{max-width:1320px;margin:0 auto;padding:125px max(28px,5vw)}.growth-section-head{display:grid;grid-template-columns:1fr 1.35fr;gap:10px 50px;margin-bottom:48px}.growth-section-head>span,.section-label{color:#637451;font-family:var(--mono);font-size:10.5px;font-weight:750;letter-spacing:1.6px;text-transform:uppercase}.growth-section-head h2{grid-column:1;margin:8px 0 0;font-size:clamp(31px,3vw,46px);line-height:1.25;letter-spacing:-1.5px}.growth-section-head h2 em{font-style:normal;color:#566d41}.growth-section-head p{grid-column:2;grid-row:1/3;align-self:end;max-width:520px;margin:0;color:#687065;font-size:16px;line-height:1.8}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.value-grid article{min-height:260px;padding:26px 23px;border:1px solid #dcd9cc;border-radius:20px;background:#fffdf9;position:relative;overflow:hidden;transition:.22s}.value-grid article::after{content:'';position:absolute;width:130px;height:130px;border-radius:50%;right:-70px;bottom:-70px;background:#92a5741b;transition:.25s}.value-grid article:hover{transform:translateY(-8px);border-color:#9cab86;box-shadow:0 24px 45px #27321e18}.value-grid article:hover::after{transform:scale(2)}.value-grid article>span{font-family:var(--mono);font-size:11px;color:#89947c}.value-grid h3{margin:50px 0 12px;font-size:18px}.value-grid p{margin:0;color:#6c7368;font-size:13.5px;line-height:1.75}.value-grid i{position:absolute;left:23px;bottom:21px;font-family:var(--mono);font-size:9px;font-style:normal;letter-spacing:.7px;color:#849276}
.automation-story{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(50px,7vw,100px);align-items:center;max-width:1320px;margin:15px auto 130px;padding:0 max(28px,5vw)}.story-media{position:relative}.story-media>img{width:100%;aspect-ratio:1.22;object-fit:cover;border-radius:28px;box-shadow:0 30px 65px #26321d2c}.story-float{position:absolute;right:-24px;bottom:30px;display:flex;flex-direction:column;min-width:255px;padding:16px 18px;border:1px solid #ffffff33;border-radius:15px;background:#1d281be8;color:#fff;backdrop-filter:blur(12px);box-shadow:0 20px 40px #0004}.story-float small{color:#9dab92;font-family:var(--mono);font-size:8px;letter-spacing:1.3px}.story-float b{display:flex;align-items:center;gap:7px;margin:4px 0;font-size:13px}.story-float b i{width:7px;height:7px;border-radius:50%;background:#83bd70;animation:livepulse 1.6s infinite}.story-float span{color:#b4beb0;font-size:10.5px}.story-copy h2{font-size:clamp(32px,3.2vw,48px);line-height:1.25;margin:13px 0 31px;letter-spacing:-1.5px}.story-copy ol{list-style:none;padding:0;margin:0;counter-reset:story}.story-copy li{counter-increment:story;display:grid;grid-template-columns:38px 1fr;gap:2px 10px;padding:15px 0;border-bottom:1px solid #ddd9cd}.story-copy li::before{content:'0' counter(story);grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e6eadc;color:#536743;font-family:var(--mono);font-size:9.5px;font-weight:800}.story-copy li b{font-size:14px}.story-copy li span{color:#747b70;font-size:12px}
.diagnosis-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,100px);max-width:1280px;margin:0 auto 100px;padding:75px max(28px,5vw);border-radius:38px;background:linear-gradient(135deg,#1e2a1b,#33422d 72%,#526143);color:#fff;box-shadow:0 35px 80px #29351f2f}.diagnosis-intro{padding-top:18px}.diagnosis-intro .section-label{color:#acbc9f}.diagnosis-intro h2{font-size:clamp(34px,3.4vw,50px);margin:15px 0 20px}.diagnosis-intro>p{color:#bdc6b8;line-height:1.8}.diagnosis-notes{display:grid;gap:8px;margin:28px 0}.diagnosis-notes span{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff17;color:#e7ecdf;font-size:13px}.diagnosis-notes b{font-family:var(--mono);font-size:9px;color:#a5b49a}.diagnosis-intro .privacy-short{font-size:10.5px;color:#8f9c89}.diagnosis-card{padding:27px 29px;border-radius:23px;background:#fffdf9;color:#1d251a;box-shadow:0 28px 60px #10170d52}.diagnosis-card-head{display:flex;flex-direction:column;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #e4e1d8}.diagnosis-card-head span{color:#6d7e5b;font-size:10.5px;font-weight:800;letter-spacing:.6px}.diagnosis-card-head b{font-size:20px;margin-top:3px}.lead-form{display:grid;gap:13px}.lead-form>label,.lead-row label{display:grid;gap:5px;color:#394233;font-size:12px;font-weight:700}.lead-form label small{color:#9a9f95;font-weight:500}.lead-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lead-form textarea{min-height:82px;font-family:var(--sans);font-size:13.5px}.lead-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.lead-submit{width:100%;display:flex;justify-content:space-between;padding:14px 18px}.lead-submit i{font-style:normal;font-size:18px}.lead-form.submitted>*:not(.lead-form-status):not(button){opacity:.52}.lead-form.submitted input,.lead-form.submitted textarea{pointer-events:none}.diagnosis-card .lead-form-status.ok{margin-top:0}
.growth-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:35px max(28px,5vw);border-top:1px solid #ddd9ce;color:#72796d}.growth-footer .lbrand{font-size:15px}.growth-footer p{font-size:12px}.growth-footer>a:not(.lbrand){font-size:12px;font-weight:700}.growth-footer small{grid-column:1/4;color:#a2a69e;font-size:9.5px}.mobile-diagnosis{display:none}
@media(max-width:1100px){.growth-hero{grid-template-columns:1fr;min-height:auto}.growth-copy{max-width:820px}.signal-stage{width:min(700px,100%);height:540px;margin:0 auto}.value-grid{grid-template-columns:repeat(2,1fr)}.automation-story{grid-template-columns:1fr}.story-media{max-width:850px}.diagnosis-wrap{grid-template-columns:1fr;margin-left:18px;margin-right:18px}.question-strip>div{grid-template-columns:1fr}.question-strip>div>*{text-align:center}.growth-section-head{grid-template-columns:1fr}.growth-section-head p{grid-column:1;grid-row:auto;margin-top:15px}}
@media(max-width:720px){.landing-growth .lnav{height:62px}.landing-growth .lnav nav a:not(.btn){display:none}.landing-growth .lnav .btn.ghost{font-size:11px;padding:8px 10px}.growth-hero{padding:48px 18px 58px;gap:46px}.growth-copy h1{font-size:39px;letter-spacing:-1.8px}.growth-lead{font-size:15.5px}.growth-cta{align-items:flex-start;flex-direction:column;gap:15px}.growth-proof{gap:9px}.growth-proof span{width:100%}.signal-stage{height:470px;border-radius:25px}.signal-core{width:112px;height:112px}.signal-node{min-width:145px;padding:9px 10px}.signal-node b{font-size:10.5px}.signal-node.n1{left:3%;top:13%}.signal-node.n2{right:3%;top:27%}.signal-node.n3{left:3%;bottom:20%}.signal-node.n4{right:3%;bottom:10%}.signal-orbit.o2{width:330px;height:330px}.signal-orbit.o1{width:210px;height:210px}.signal-status{bottom:16px;font-size:9px}.question-strip{padding:0 13px}.question-strip>div{padding:19px 15px;gap:7px}.question-strip b{font-size:16px}.growth-section{padding:85px 18px}.growth-section-head h2{font-size:32px}.value-grid{grid-template-columns:1fr}.value-grid article{min-height:220px}.value-grid h3{margin-top:35px}.automation-story{margin-bottom:85px;padding:0 18px;gap:45px}.story-float{right:10px;bottom:-25px;min-width:230px}.story-copy h2{font-size:34px}.diagnosis-wrap{padding:48px 16px;margin-bottom:70px;border-radius:25px}.diagnosis-card{padding:22px 16px}.lead-row{grid-template-columns:1fr}.lead-choice,.login-lead .lead-choice{grid-template-columns:repeat(2,1fr)}.growth-footer{grid-template-columns:1fr;padding:28px 18px 85px}.growth-footer small{grid-column:1}.mobile-diagnosis{position:fixed;display:flex;align-items:center;justify-content:space-between;left:13px;right:13px;bottom:12px;z-index:20;padding:13px 17px;border-radius:13px;background:#27351f;color:#fff;font-size:13px;font-weight:800;box-shadow:0 13px 35px #1820136e}.mobile-diagnosis:hover{text-decoration:none}.login .card{padding:29px 22px}}
.lead-choice input{width:0!important;height:0!important}
@media(max-width:720px){.diagnosis-intro h2{font-size:30px;word-break:keep-all}}

/* 공개 유입·CRM 통계 — 두 super_admin에게만 서버 렌더링 */
.insight-board{margin:0 0 22px}.insight-board.full{padding-bottom:30px}.insight-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.insight-head span{font-family:var(--mono);font-size:9.5px;letter-spacing:1.2px;color:#78856e}.insight-head h2{margin:4px 0 2px;font-size:23px;letter-spacing:-.7px}.insight-head p{margin:0;color:var(--mut);font-size:11.5px}.insight-period{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.insight-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:10px}.insight-kpis>span{min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 18px #27341f09}.insight-kpis small,.insight-kpis i{display:block;color:var(--mut);font-size:10px;font-style:normal}.insight-kpis b{display:block;margin:3px 0;font:700 22px var(--mono);color:var(--tx)}.insight-kpis .accent{background:#f2f5ec;border-color:#cdd7bf}.insight-kpis .accent b{color:#55703d}.insight-kpis .good b{color:var(--ok)}.insight-kpis .warn b{color:var(--warn)}.insight-chart-card{padding:15px 16px 11px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px #27341f0b}.insight-chart-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:9px}.insight-legend{display:flex;gap:13px;flex-wrap:wrap}.insight-legend span{display:flex;align-items:center;gap:5px;color:var(--mut);font-size:10.5px}.insight-legend span::before{content:'';width:8px;height:8px;border-radius:50%;background:#829274}.insight-legend .visitors::before{background:#405c38}.insight-legend .interests::before{background:#d29a45}.insight-legend .leads::before{background:#318a69}.insight-ranges{display:flex;gap:3px;padding:3px;border-radius:9px;background:#f1f2ed}.insight-ranges button{border:0;border-radius:7px;padding:5px 8px;background:transparent;color:#81877d;font-size:10px;cursor:pointer}.insight-ranges button:hover,.insight-ranges button.on{background:#fff;color:#35452e;box-shadow:0 2px 8px #23301d18}.insight-canvas{height:260px;position:relative}.insight-canvas canvas{width:100%;height:100%;display:block}.insight-tooltip{position:absolute;display:none;z-index:2;pointer-events:none;min-width:125px;padding:8px 10px;border-radius:9px;background:#1f2b1c;color:#fff;box-shadow:0 8px 22px #17201442;font-size:10px;line-height:1.6}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.insight-list h3{margin-top:0}.insight-list>div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.insight-list>div:last-child{border-bottom:0}.insight-list>div span{font-family:var(--mono);color:var(--mut)}.insight-needs h3{margin-top:0}.insight-board.compact{padding:17px 18px;border:1px solid #ccd7bf;border-radius:18px;background:linear-gradient(135deg,#fafcf7,#f0f4e9);box-shadow:0 10px 28px #3140260d}.insight-board.compact .insight-head h2{font-size:19px}.insight-board.compact .insight-kpis>span{padding:10px 12px}.insight-board.compact .insight-kpis b{font-size:18px}.insight-board.compact .insight-canvas{height:190px}.insight-board.compact .insight-chart-card{background:#ffffffd9}
@media(max-width:1000px){.insight-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.insight-head{align-items:flex-start;flex-direction:column}.insight-kpis{grid-template-columns:repeat(2,1fr)}.insight-chart-top{align-items:flex-start;flex-direction:column}.insight-canvas{height:230px}.insight-grid{grid-template-columns:1fr}.insight-board.compact{padding:15px 12px}.insight-board.compact .insight-canvas{height:180px}}
.insight-needs{margin-top:12px}
.page-tasks .pick .wopt .wtag{width:auto;min-width:34px;padding:0 6px;margin-right:7px}.page-tasks .pick .wopt>b{display:flex;align-items:center;padding-right:52px}

/* 공개 GEO·AEO 정밀 진단 계산기 */
.diagnosis-card-head em{margin-top:7px;color:#92998e;font-size:10.5px;font-style:normal}.diag-crowd{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:24px 0 18px}.diag-crowd>span{position:relative;display:flex;flex-direction:column;padding:10px 9px;border:1px solid #ffffff20;border-radius:11px;background:#ffffff0b}.diag-crowd small{color:#9fac98;font-size:9px}.diag-crowd b{margin-top:2px;color:#fff;font:700 18px var(--mono)}.diag-crowd .live{padding-left:23px}.diag-crowd .live i{position:absolute;left:9px;top:18px;width:7px;height:7px;border-radius:50%;background:#83bd70;box-shadow:0 0 0 5px #83bd701a;animation:livepulse 1.7s infinite}
.diag-wizard{min-height:490px}.diag-wizard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.diag-wizard-head>div{display:flex;flex-direction:column}.diag-wizard-head span{color:#70805e;font-size:10px;font-weight:850;letter-spacing:.5px}.diag-wizard-head b{margin-top:3px;font-size:19px}.diag-wizard-head>small{color:#8f968b;font:600 10px var(--mono);white-space:nowrap}.diag-progress{height:7px;border-radius:99px;background:#e9e9e1;overflow:hidden}.diag-progress i{display:block;width:12%;height:100%;border-radius:99px;background:linear-gradient(90deg,#8ca270,#536d41);transition:width .45s cubic-bezier(.2,.8,.2,1)}.diag-hint{margin:8px 0 18px;color:#8a9185;font-size:10.5px}.diag-hint.near{padding:7px 10px;border-radius:8px;background:#eef3e7;color:#4d653d;font-weight:750}.diag-step{animation:diag-in .3s ease}.diag-step h3{margin:0 0 7px;font-size:21px;letter-spacing:-.45px}.diag-step>p{margin:0 0 18px;color:#767d72;font-size:12.5px;line-height:1.6}@keyframes diag-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.diag-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.diag-options>label,.diag-chips>label,.diag-yesno>label{cursor:pointer}.diag-options input,.diag-chips input,.diag-yesno input{position:absolute;opacity:0;pointer-events:none}.diag-options>label>span{display:flex;flex-direction:column;min-height:62px;padding:12px 14px;border:1px solid #dfe2d8;border-radius:12px;background:#fff;transition:.18s}.diag-options>label:hover>span{border-color:#9dad8a;transform:translateY(-2px);box-shadow:0 7px 16px #33422910}.diag-options input:checked+span{border-color:#617d4d;background:#eff4e8;box-shadow:inset 0 0 0 1px #617d4d}.diag-options input:checked+span::after{content:'선택';align-self:flex-end;margin-top:-19px;padding:2px 6px;border-radius:99px;background:#587244;color:#fff;font-size:8px;font-weight:800}.diag-options b{font-size:13px}.diag-options small{margin-top:3px;color:#8b9286;font-size:9.5px}.diag-options.compact>label>span{min-height:58px}.diag-yesno{display:grid;grid-template-columns:1fr 1fr;gap:9px}.diag-yesno span{display:grid;place-items:center;padding:13px;border:1px solid #dfe2d8;border-radius:11px;background:#fff;font-size:13px;font-weight:800;transition:.18s}.diag-yesno label:hover span{border-color:#9dad8a}.diag-yesno input:checked+span{background:#273621;color:#fff;border-color:#273621;box-shadow:0 8px 18px #27362125}.diag-follow{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid #e2e4dc;border-radius:13px;background:#f8f8f3}.diag-follow>small{color:#697360;font-size:10.5px;font-weight:750}.diag-chips{display:flex;flex-wrap:wrap;gap:6px}.diag-chips span{display:block;padding:8px 10px;border:1px solid #daddd4;border-radius:9px;background:#fff;color:#62685e;font-size:11px;font-weight:700;transition:.15s}.diag-chips label:hover span{border-color:#91a17f;color:#3f5235}.diag-chips input:checked+span{border-color:#587244;background:#e9f0e1;color:#3f5733;box-shadow:inset 0 0 0 1px #587244}.diag-number{display:flex;align-items:center;gap:10px;color:#4e5749;font-size:11.5px;font-weight:750}.diag-number input{width:130px;margin-left:auto;text-align:right}.diag-number em{font-size:10px;font-style:normal;color:#92978e}.sns-metrics{display:grid;gap:8px}.sns-metrics label{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:14px;padding:10px 12px;border:1px solid #e0e2db;border-radius:12px;background:#fafaf6}.sns-metrics span{display:flex;flex-direction:column}.sns-metrics b{font-size:13px}.sns-metrics small{margin-top:2px;color:#8b9287;font-size:9.5px}.sns-metrics input{text-align:right}.diag-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.diag-actions .btn.lg{margin-left:auto;min-width:155px;justify-content:space-between}.diag-actions .btn.ghost{color:#596153}
.score-analysis{min-height:450px;display:flex;flex-direction:column;justify-content:center}.diag-result{display:grid;gap:17px;animation:diag-in .35s ease}.diag-wizard[hidden],.score-analysis[hidden],.diag-result[hidden]{display:none!important}.result-top{display:grid;grid-template-columns:145px 1fr;gap:19px;align-items:center;padding:18px;border-radius:18px;background:linear-gradient(135deg,#23301f,#3c4d34);color:#fff}.score-ring{--score:0;--score-color:#66904f;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--score-color) calc(var(--score)*1%),#ffffff18 0);position:relative;transition:.5s}.score-ring::after{content:'';position:absolute;inset:10px;border-radius:50%;background:#263420}.score-ring span{position:relative;z-index:1;text-align:center}.score-ring b{display:block;font:800 46px var(--mono)}.score-ring small{color:#b9c4b2;font-size:10px}.result-kicker{color:#aeba9f;font-size:9.5px;font-weight:800;letter-spacing:1px}.result-top h3{margin:5px 0 6px;font-size:26px}.result-top p{margin:0;color:#c5cec0;font-size:11px;line-height:1.5}.result-top p b{color:#fff}.result-top em{display:inline-block;margin-top:10px;padding:4px 8px;border-radius:99px;background:#ffffff12;color:#cbd5c5;font-size:9.5px;font-style:normal}.score-parts{display:grid;grid-template-columns:1fr 1fr;gap:9px}.score-parts>div{padding:10px 12px;border:1px solid #e1e3dc;border-radius:11px;background:#fafaf6}.score-parts>div:last-child:nth-child(odd){grid-column:1/-1}.score-parts span{display:flex;justify-content:space-between;gap:10px}.score-parts b{font-size:10.5px}.score-parts em{color:#7f8779;font:700 9px var(--mono);font-style:normal}.score-parts i{display:block;height:6px;margin-top:7px;border-radius:99px;background:#e4e6df;overflow:hidden}.score-parts u{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8fa577,#5d784b);text-decoration:none}.result-reco{padding:14px 16px;border-radius:13px;background:#f0f3ea}.result-reco>span{color:#61744f;font-size:9.5px;font-weight:850}.result-reco ol{margin:8px 0 0;padding-left:20px}.result-reco li{margin:5px 0;color:#4f584b;font-size:11px;line-height:1.55}.result-caveat{margin:0;color:#969b93;font-size:9.5px;line-height:1.5}.result-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.result-actions .btn{justify-content:center;padding:9px 7px;font-size:10.5px}.share-status{text-align:center;color:#5d704e;font-size:10px}.result-contact{width:100%;justify-content:space-between}.diag-result .lead-restart{justify-self:center}
.keyword-opportunities{padding:15px 16px;border:1px solid #dfe3d7;border-radius:14px;background:linear-gradient(145deg,#fffdf8,#f7f8f2)}.keyword-opportunities header{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:11px}.keyword-opportunities header span{display:block;color:#74806b;font-size:9px;font-weight:850;letter-spacing:.7px}.keyword-opportunities header b{display:block;margin-top:2px;color:#283421;font-size:17px}.keyword-opportunities header small{color:#90978a;font-size:9px}.keyword-opportunities [data-opportunity-list]{display:grid;gap:8px}.opportunity-row{display:grid;grid-template-columns:minmax(105px,1fr) minmax(95px,1.4fr) auto;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e7e9e2}.opportunity-row>div:first-child b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#35402f;font-size:11px}.opportunity-row>div:first-child small{color:#92988d;font-size:8.5px}.opportunity-row>i{display:block;height:8px;border-radius:99px;background:#ebede7;overflow:hidden}.opportunity-row>i u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#769865,#4b7748);text-decoration:none}.opportunity-row>strong{color:#30452c;font:800 17px var(--mono)}.opportunity-row>strong small{font:700 9px Pretendard,sans-serif;color:#7f8b78}.keyword-opportunities>p{margin:10px 0 0;color:#92988e;font-size:9px;line-height:1.5}
@media(max-width:720px){.diag-crowd{grid-template-columns:repeat(2,1fr)}.diag-wizard{min-height:540px}.diag-wizard-head{align-items:flex-start;flex-direction:column;gap:5px}.diag-options{grid-template-columns:1fr}.diag-options.target-options{grid-template-columns:1fr 1fr}.diag-options.target-options>label>span{min-height:70px;padding:10px}.sns-metrics label{grid-template-columns:1fr 120px}.result-top{grid-template-columns:108px 1fr;padding:14px}.score-ring{width:100px;height:100px}.score-ring b{font-size:34px}.result-top h3{font-size:20px}.score-parts{grid-template-columns:1fr}.score-parts>div:last-child:nth-child(odd){grid-column:auto}.result-actions{grid-template-columns:1fr}.diag-number{flex-wrap:wrap}.diag-number input{width:120px}.diagnosis-card-head em{font-size:9.5px}}

/* v3.11.4 — #how 두 문장 진단 전환 경험 */
.two-input-experience{position:relative;isolation:isolate;grid-template-columns:minmax(390px,.94fr) minmax(500px,1.06fr);gap:clamp(38px,5vw,72px);max-width:1340px;padding:58px clamp(30px,4.4vw,68px);overflow:hidden;scroll-margin-top:85px;background:radial-gradient(circle at 8% 4%,#71865a48,transparent 31%),linear-gradient(138deg,#172115 0%,#293923 51%,#536546 100%)}
.two-input-experience::before{content:'';position:absolute;z-index:-1;width:560px;height:560px;right:-230px;top:-280px;border:1px solid #dbe9ca1f;border-radius:50%;box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff05;animation:two-breathe 7s ease-in-out infinite}.two-input-experience::after{content:'';position:absolute;z-index:-1;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(105deg,#0008,transparent 48%);pointer-events:none}.anchor-target{position:absolute;top:-82px;left:0}.diagnosis-intro{position:relative;z-index:1}.diagnosis-intro h2 em{position:relative;color:#d8e9bc;font-style:normal}.diagnosis-intro h2 em::after{content:'';position:absolute;left:-2px;right:-2px;bottom:-3px;height:8px;border-radius:99px;background:#bcd29230}.diagnosis-intro>p b{color:#fff;font-weight:800}.two-promise{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0 18px}.two-promise>span{display:grid;grid-template-columns:32px 1fr;gap:0 9px;align-items:center;padding:11px;border:1px solid #ffffff1f;border-radius:13px;background:#ffffff0b;backdrop-filter:blur(8px)}.two-promise i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d7e7c3;color:#26351f;font:800 11px var(--mono);font-style:normal}.two-promise b{font-size:11.5px}.two-promise small{color:#9eaa99;font-size:8.8px;line-height:1.35}.diagnosis-photo{position:relative;height:238px;margin:0 0 18px;border:1px solid #ffffff20;border-radius:20px;overflow:hidden;background:#111a10;box-shadow:0 20px 44px #0e150d52}.diagnosis-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111a10d9 0%,#111a1080 33%,transparent 64%),linear-gradient(0deg,#10180fd9,transparent 58%)}.diagnosis-photo>img{width:100%;height:100%;object-fit:cover;object-position:58% center;transform:scale(1.025);transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .5s}.two-input-experience.is-visible .diagnosis-photo>img{transform:scale(1)}.diagnosis-photo figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;display:flex;flex-direction:column}.diagnosis-photo figcaption>span{display:flex;align-items:center;gap:6px;color:#bad0a8;font:700 8.5px var(--mono);letter-spacing:1px}.diagnosis-photo figcaption>span i{width:7px;height:7px;border-radius:50%;background:#8dcd72;box-shadow:0 0 0 5px #8dcd7220;animation:livepulse 1.5s infinite}.diagnosis-photo figcaption b{margin:4px 0 2px;font-size:15px}.diagnosis-photo figcaption small{color:#b2bcb0;font-size:9.5px}.photo-orbit{position:absolute;z-index:3;right:21%;top:26%;width:92px;height:92px;border:1px solid #dff7bd55;border-radius:50%;animation:photo-orbit 10s linear infinite}.photo-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#e4f5ca;box-shadow:0 0 12px #cde9a8}.photo-orbit i:nth-child(1){left:-3px;top:42px}.photo-orbit i:nth-child(2){right:8px;top:8px}.photo-orbit i:nth-child(3){right:12px;bottom:8px}.two-input-experience .diag-crowd{margin:14px 0 12px}.two-input-experience .privacy-short{margin-bottom:0}.two-input-experience .diagnosis-card{position:relative;z-index:2;align-self:center;padding:29px 31px;border:1px solid #ffffff8c;background:linear-gradient(150deg,#fffefb 0%,#f7f5ed 100%);box-shadow:0 35px 80px #0c130a70,0 0 0 8px #ffffff0a;transition:transform .35s,box-shadow .35s}.two-input-experience.is-visible .diagnosis-card{animation:card-arrive .7s .1s both cubic-bezier(.18,.75,.22,1)}.diagnosis-card-head{position:relative}.card-kicker{display:flex;justify-content:space-between;align-items:center;gap:15px}.card-kicker>span{display:flex;align-items:center;gap:7px}.card-kicker>span i{width:7px;height:7px;border-radius:50%;background:#6fa452;box-shadow:0 0 0 5px #7ca75e1b;animation:livepulse 1.7s infinite}.diagnosis-card-head .card-kicker>b{margin:0;padding:5px 9px;border:1px solid #d7ddce;border-radius:999px;background:#f5f8f0;color:#4f643e;font:800 10px var(--mono)}.diagnosis-card-head>strong{display:block;margin-top:11px;font-size:clamp(23px,2vw,29px);line-height:1.3;letter-spacing:-1px}.first-meter{height:5px;margin-top:15px;border-radius:99px;background:#e3e5dd;overflow:hidden}.first-meter i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8ea675,#4e6d3b,#d6a451);box-shadow:0 0 14px #76935366;transition:width .4s cubic-bezier(.2,.8,.2,1)}.quick-start{display:grid;gap:7px;padding:10px 12px;border:1px dashed #cfd5c6;border-radius:12px;background:#f4f6ef}.quick-start>span{color:#788071;font-size:9.5px;font-weight:700}.quick-start>div{display:flex;gap:5px;flex-wrap:wrap}.quick-start button{border:1px solid #d6ddcd;border-radius:999px;padding:6px 9px;background:#fff;color:#4c6040;font-size:9.5px;font-weight:750;cursor:pointer;transition:.16s}.quick-start button::before{content:'+';margin-right:4px;color:#869978}.quick-start button:hover,.quick-start button:focus-visible{transform:translateY(-2px);border-color:#7e956b;background:#edf3e7;box-shadow:0 6px 13px #35492b18}.quick-start button.picked{color:#fff;border-color:#526d40;background:#526d40}.two-input-stage{display:grid;gap:11px}.input-mission{display:grid!important;gap:7px!important;padding:12px 13px 11px;border:1.5px solid #dfe2d8;border-radius:14px;background:#fff;transition:border-color .2s,transform .2s,box-shadow .2s}.input-mission:hover{border-color:#b9c5ac}.input-mission:focus-within{z-index:1;transform:translateY(-2px);border-color:#668051;box-shadow:0 0 0 4px #718a5a1a,0 12px 25px #283b2112}.input-mission.filled{border-color:#8eaa7b;background:#fbfdf8}.mission-label{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:8px}.mission-label>i{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e8eee0;color:#4f683d;font:800 10px var(--mono);font-style:normal;transition:.2s}.mission-label>b{font-size:12px}.mission-label>em{color:#9ba196;font-size:9px;font-style:normal}.input-mission.filled .mission-label>i{background:#526e40;color:#fff}.input-mission.filled .mission-label>em{color:#588044;font-weight:800}.input-shell{display:grid;gap:3px;padding-left:35px}.input-shell input,.input-shell textarea{padding:4px 0 2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#1d271a;font-size:14px!important;line-height:1.55}.input-shell input:focus,.input-shell textarea:focus{outline:0!important}.input-shell textarea{min-height:65px!important;resize:none}.input-shell>small{color:#9ca197!important;font-size:8.8px!important;font-weight:500!important}.instant-output{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:3px 1px}.instant-output>span{margin-right:3px;color:#8b9187;font-size:9.5px}.instant-output>b{padding:4px 7px;border-radius:6px;background:#ebefe5;color:#56694a;font-size:8.5px;letter-spacing:.1px}.two-input-submit{position:relative;isolation:isolate;overflow:hidden;margin-top:2px;min-height:52px;border:1px solid #344a2a;background:linear-gradient(105deg,#26391f,#506c3e 52%,#334b28);box-shadow:0 12px 26px #25391e32;transition:transform .2s,box-shadow .2s,filter .2s}.two-input-submit::before{content:'';position:absolute;z-index:-1;top:-80%;bottom:-80%;width:55px;left:-80px;transform:rotate(18deg);background:linear-gradient(90deg,transparent,#ffffff59,transparent);animation:button-shine 3.5s 1.4s infinite}.two-input-submit:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 17px 32px #25391e42}.two-input-submit.is-ready{background:linear-gradient(105deg,#304b24,#668a4d 48%,#b07b31);box-shadow:0 14px 32px #6e713137}.two-input-submit.is-ready i{animation:ready-arrow .9s ease-in-out infinite alternate}.submit-reassure{display:flex;justify-content:center;align-items:center;gap:6px;color:#8e9589;font-size:9.2px}.submit-reassure i{width:5px;height:5px;border-radius:50%;background:#7c9a65}.diagnosis-card.started .diagnosis-card-head{display:none}.diagnosis-card.started .quick-start{display:none}.preset-flash{animation:preset-flash .55s ease}
@keyframes two-breathe{50%{transform:scale(1.08);opacity:.68}}@keyframes photo-orbit{to{transform:rotate(360deg)}}@keyframes card-arrive{from{opacity:0;transform:translateY(25px) scale(.98)}to{opacity:1;transform:none}}@keyframes button-shine{0%,42%{left:-80px}72%,100%{left:120%}}@keyframes ready-arrow{to{transform:translateX(5px)}}@keyframes preset-flash{50%{box-shadow:0 0 0 6px #8da87825}}
@media(max-width:1100px){.two-input-experience{grid-template-columns:1fr;padding:55px max(24px,5vw)}.two-input-experience .diagnosis-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.two-input-experience .diagnosis-intro>.section-label,.two-input-experience .diagnosis-intro>h2,.two-input-experience .diagnosis-intro>p,.two-input-experience .two-promise{grid-column:1}.diagnosis-photo{grid-column:2;grid-row:1/6;height:100%;min-height:330px}.two-input-experience .diag-crowd,.two-input-experience .privacy-short{grid-column:1/3}.two-input-experience .diagnosis-card{width:min(720px,100%);margin:0 auto}.photo-orbit{right:24%;top:32%}}
@media(max-width:720px){.two-input-experience{padding:43px 14px 18px;margin-left:10px;margin-right:10px;border-radius:27px;gap:24px;scroll-margin-top:68px}.two-input-experience .diagnosis-intro{display:block;padding:0 5px}.two-input-experience .diagnosis-intro h2{font-size:34px;line-height:1.22;margin:11px 0 14px}.two-input-experience .diagnosis-intro>p{font-size:13px;line-height:1.7}.two-promise{grid-template-columns:1fr;margin:18px 0 14px}.two-promise>span{padding:9px}.diagnosis-photo{height:210px;min-height:0;margin:0 0 14px}.diagnosis-photo>img{object-position:60% center}.photo-orbit{right:16%;top:22%;transform:scale(.75)}.diagnosis-photo figcaption{left:14px;bottom:13px}.diagnosis-photo figcaption b{font-size:13px}.diagnosis-photo figcaption small{max-width:230px}.two-input-experience .diag-crowd{margin:12px 0}.two-input-experience .diagnosis-card{padding:21px 14px;border-radius:19px;box-shadow:0 22px 48px #0c130a78,0 0 0 5px #ffffff0a}.diagnosis-card-head>strong{font-size:23px}.quick-start{padding:9px}.quick-start>div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.quick-start button{flex:none}.input-mission{padding:11px 10px}.mission-label{grid-template-columns:27px 1fr auto;gap:6px}.mission-label>b{font-size:11.5px}.input-shell{padding-left:33px}.input-shell input,.input-shell textarea{font-size:13.5px!important}.instant-output{justify-content:center}.instant-output>span{width:100%;text-align:center}.two-input-submit{min-height:50px}.anchor-target{top:-68px}.landing-growth .mobile-diagnosis{transition:opacity .2s,transform .2s}.landing-growth.how-in-view .mobile-diagnosis{opacity:0;transform:translateY(16px);pointer-events:none}}
@media(prefers-reduced-motion:reduce){.two-input-experience::before,.photo-orbit,.two-input-submit::before,.two-input-submit.is-ready i,.two-input-experience.is-visible .diagnosis-card{animation:none!important}.diagnosis-photo>img{transition:none}}

/* v3.11.4.2 — 첫 입력·선택 영역 식별성 강화 */
.quick-start{padding:12px 13px;border:1.5px solid #b8c6a9;background:linear-gradient(135deg,#f6f9f1,#edf3e7);box-shadow:inset 0 1px 0 #fff}.quick-start>span{display:flex;align-items:center;gap:6px;color:#4f6144;font-size:10.5px;font-weight:850}.quick-start>span::before{content:'바로 체험';padding:3px 6px;border-radius:5px;background:#536d42;color:#fff;font-size:8px;letter-spacing:.2px}.quick-start button{min-height:34px;padding:7px 11px;border:1.5px solid #aeba9f;background:#fff;color:#31452b;font-size:10.5px;box-shadow:0 3px 8px #30432512}.quick-start button::before{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:5px;border-radius:50%;background:#e2ead8;color:#4d683c;font-size:12px}.quick-start button:hover,.quick-start button:focus-visible{border-color:#4e6f3b;background:#fff;box-shadow:0 7px 16px #35492b26}.quick-start button.picked::before{background:#ffffff2b;color:#fff}
.input-mission{position:relative;padding:13px 14px 13px;border:2px solid #aeb9a5;background:#fff;box-shadow:0 5px 15px #2838200d;cursor:text}.input-mission::before{content:'';position:absolute;left:-2px;top:13px;bottom:13px;width:4px;border-radius:0 4px 4px 0;background:#9caf89;transition:.2s}.input-mission:hover{border-color:#718b5e;box-shadow:0 9px 22px #26391e18}.input-mission:focus-within{border-color:#4d7139;box-shadow:0 0 0 5px #6e925127,0 15px 28px #283b211d}.input-mission:focus-within::before{background:#4d7c35}.input-mission.filled{border-color:#67904f;background:#f7fbf3;box-shadow:0 5px 16px #52743e19}.input-mission.filled::before{background:#629648}.mission-label>i{width:29px;height:29px;border-radius:9px;background:#dbe6d2;color:#36542b;font-size:11px;box-shadow:inset 0 0 0 1px #c2d2b6}.mission-label>b{color:#202b1c;font-size:13px}.mission-label>em{padding:4px 7px;border-radius:999px;background:#fff2d9;color:#9a6418;font-size:8.5px;font-weight:850;white-space:nowrap}.input-mission:focus-within .mission-label>em{background:#e8f1df;color:#4a7335}.input-mission.filled .mission-label>em{background:#56803f;color:#fff}.input-shell{gap:5px;margin:3px 0 0 36px;padding:9px 11px!important;border:1px solid #cfd6c9;border-radius:10px;background:#f8faf5;box-shadow:inset 0 1px 3px #3141280a;transition:.2s}.input-mission:focus-within .input-shell{border-color:#789667;background:#fff;box-shadow:inset 0 1px 3px #3141280a,0 0 0 3px #77975f14}.input-shell input,.input-shell textarea{color:#172014!important;font-weight:650}.input-shell input::placeholder,.input-shell textarea::placeholder{color:#798274;opacity:1;font-weight:500}.input-shell>small{color:#75806f!important}.two-input-submit{border:2px solid #172b13;font-size:14px;font-weight:850;box-shadow:0 13px 28px #17291145}.two-input-submit i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffff1c}.submit-reassure{font-weight:650}
.diag-options>label>span,.diag-yesno span{border-width:2px;border-color:#c8cec2;box-shadow:0 3px 10px #26351f0b}.diag-options>label:hover>span,.diag-yesno label:hover span{border-color:#66834f;background:#fafcf7;box-shadow:0 8px 18px #3342291b}.diag-options input:checked+span,.diag-yesno input:checked+span{box-shadow:inset 0 0 0 1px #4f713d,0 0 0 4px #67884f1e}.diag-chips span{border-width:1.5px;border-color:#c3cbc0}.diag-chips label:hover span{transform:translateY(-1px);box-shadow:0 5px 12px #33422915}
@media(max-width:720px){.quick-start>span{align-items:flex-start;flex-direction:column}.quick-start>div{margin-left:-2px;margin-right:-2px}.quick-start button{min-height:37px;font-size:10.5px}.input-mission{padding:12px 10px}.mission-label>b{font-size:12px}.mission-label>em{padding:4px 6px;font-size:8px}.input-shell{margin-left:34px;padding:9px!important}.input-shell input,.input-shell textarea{font-size:14px!important}.two-input-submit{font-size:13.5px}}
.keyword-difficulty-reveal[data-tone=wait] .difficulty-verdict span{background:#eceee9;color:#747b70}

/* v3.11.5.1 — 첫 화면에서 즉시 시작하는 두 문장 진단 */
.hero-try-card{position:relative;z-index:3;display:grid;gap:12px;scroll-margin-top:92px;padding:29px 30px 24px;border:1px solid #ffffff42;border-radius:28px;background:radial-gradient(circle at 90% 0,#78905d55,transparent 31%),linear-gradient(145deg,#1a2518,#2b3a25 64%,#425336);color:#fff;box-shadow:0 34px 76px #27321d38,inset 0 1px 0 #ffffff24;overflow:hidden}.hero-try-card::before{content:'';position:absolute;pointer-events:none;width:240px;height:240px;right:-135px;bottom:-135px;border:1px solid #dcebc52b;border-radius:50%;box-shadow:0 0 0 45px #ffffff07,0 0 0 90px #ffffff04}.hero-try-card::after{content:'';position:absolute;pointer-events:none;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(130deg,transparent,#000 75%);z-index:-1}.hero-try-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-try-head>span{display:flex;align-items:center;gap:8px;color:#dce8d1;font-size:10.5px;font-weight:800;letter-spacing:.4px}.hero-try-head>span i{width:7px;height:7px;border-radius:50%;background:#93d876;box-shadow:0 0 0 6px #93d8761f;animation:livepulse 1.5s infinite}.hero-try-head>em{padding:5px 9px;border:1px solid #ffffff2b;border-radius:99px;background:#ffffff0c;color:#c6d0c0;font:700 9.5px var(--mono);font-style:normal}.hero-try-card h2{margin:4px 0 0;color:#fff;font-family:var(--serif);font-size:clamp(29px,2.6vw,39px);line-height:1.23;letter-spacing:-1.3px}.hero-try-card h2 b{color:#d8e9bc;font-weight:700;position:relative}.hero-try-card h2 b::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:6px;border-radius:9px;background:#b9d29432}.hero-try-card>p{margin:-2px 0 1px;color:#b9c5b4;font-size:12.5px;line-height:1.6}.hero-live-flow{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #ffffff1c;border-radius:10px;background:#0e160db0}.hero-live-flow span{color:#aeb9a9;font:700 8.5px var(--mono);white-space:nowrap}.hero-live-flow span.on{color:#dff2d1}.hero-live-flow i{height:1px;background:#ffffff1d;overflow:hidden;position:relative}.hero-live-flow i::after{content:'';position:absolute;width:35%;height:100%;background:#9bc77d;animation:hero-flow 2.2s linear infinite}.hero-live-flow i:nth-of-type(2)::after{animation-delay:1.1s}@keyframes hero-flow{from{left:-40%}to{left:105%}}.hero-try-card>label{position:relative;z-index:1;display:grid;gap:6px;padding:11px 13px 10px;border:1.5px solid #ffffff29;border-radius:13px;background:#fff;color:#25301f;box-shadow:0 8px 20px #0d140b22;transition:transform .18s,border-color .18s,box-shadow .18s}.hero-try-card>label:hover,.hero-try-card>label:focus-within{transform:translateY(-2px);border-color:#b9d99e;box-shadow:0 0 0 4px #b4d49720,0 12px 25px #0d140b35}.hero-try-card>label>span{display:flex;align-items:center;gap:7px;color:#495542;font-size:10.5px;font-weight:800}.hero-try-card>label>span b{display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:#e7eedf;color:#3e5a31;font:800 9px var(--mono)}.hero-try-card input,.hero-try-card textarea{width:100%;padding:2px 1px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#172015!important;font-family:var(--sans);font-size:14.5px!important;font-weight:650;line-height:1.45;resize:none}.hero-try-card input:focus,.hero-try-card textarea:focus{outline:0!important}.hero-try-card input::placeholder,.hero-try-card textarea::placeholder{color:#8c9487;font-weight:500}.hero-preset{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;padding:1px 0 2px;scrollbar-width:none}.hero-preset::-webkit-scrollbar{display:none}.hero-preset small{flex:none;margin-right:2px;color:#aeb9a9;font-size:8.8px}.hero-preset button{flex:none;padding:5px 8px;border:1px solid #ffffff27;border-radius:99px;background:#ffffff0c;color:#d5ded0;font-family:inherit;font-size:9px;cursor:pointer;transition:.15s}.hero-preset button:hover,.hero-preset button.picked{background:#e5efd9;color:#314129;border-color:#e5efd9;transform:translateY(-1px)}.hero-try-submit{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:55px;padding:12px 16px;border:1px solid #e5bc6b;border-radius:13px;background:linear-gradient(105deg,#dba748,#e7bd6c 55%,#c48a32);color:#1f2b1c;font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 14px 28px #0b110a51;overflow:hidden;transition:transform .18s,filter .18s,box-shadow .18s}.hero-try-submit::before{content:'';position:absolute;top:-80%;bottom:-80%;left:-70px;width:45px;transform:rotate(18deg);background:linear-gradient(90deg,transparent,#ffffffa3,transparent);animation:button-shine 3.1s .6s infinite}.hero-try-submit:hover{transform:translateY(-3px);filter:brightness(1.06);box-shadow:0 18px 34px #0b110a70}.hero-try-submit i{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#25351e;color:#fff;font-style:normal}.hero-try-submit.loading{pointer-events:none;filter:saturate(.5)}.hero-try-foot{display:flex;align-items:center;gap:7px;min-width:0;color:#9fab9a;font-size:8.8px}.hero-try-foot>span{padding-right:7px;border-right:1px solid #ffffff20;white-space:nowrap}.hero-try-foot b{margin-left:auto;color:#c6d5bd;font-weight:750;white-space:nowrap}.hero-try-status{display:none;padding:9px 11px;border-radius:9px;background:#fff0ed;color:#a43e36;font-size:10.5px;font-weight:700}.hero-try-status.bad{display:block}.hero-try-card.transfer{animation:hero-transfer .55s ease}.hero-try-card.transfer .hero-try-submit i{animation:ready-arrow .45s ease-in-out infinite alternate}@keyframes hero-transfer{50%{box-shadow:0 0 0 8px #d9b15b30,0 34px 76px #27321d38}}
@media(max-width:1100px){.growth-hero{padding-top:45px;gap:30px}.growth-hero .growth-proof{display:none}.hero-try-card{width:min(720px,100%);justify-self:center}.growth-copy{justify-self:center;text-align:center}.growth-kicker,.growth-cta{justify-content:center}.growth-lead{margin-left:auto;margin-right:auto}}
@media(max-width:720px){.growth-hero{padding:29px 13px 42px;gap:19px}.growth-kicker{justify-content:flex-start;margin-bottom:14px;font-size:9px}.growth-copy{text-align:left}.growth-copy h1{margin-bottom:0;font-size:35px;line-height:1.18}.growth-copy .growth-lead,.growth-copy .growth-cta,.growth-copy .growth-proof{display:none}.hero-try-card{padding:18px 14px 15px;border-radius:21px;gap:10px}.hero-try-card h2{font-size:27px}.hero-try-card>p{font-size:11.5px}.hero-live-flow{gap:5px}.hero-live-flow span{font-size:7.6px}.hero-try-card input,.hero-try-card textarea{font-size:13.5px!important}.hero-try-submit{min-height:52px;font-size:13px}.hero-try-foot{flex-wrap:wrap}.hero-try-foot b{width:100%;margin:2px 0 0}.question-strip{margin-top:0}}
@media(prefers-reduced-motion:reduce){.hero-live-flow i::after,.hero-try-submit::before,.hero-try-head>span i{animation:none!important}}
.hero-try-card textarea{height:58px!important;min-height:58px!important;max-height:58px!important;overflow-y:auto}.landing-growth.hero-in-view .mobile-diagnosis{opacity:0;transform:translateY(16px);pointer-events:none}
@media(max-width:720px){.hero-try-card textarea{height:50px!important;min-height:50px!important;max-height:50px!important}.hero-preset small{display:none}.hero-preset button{padding:4px 7px}.hero-try-foot>span:nth-child(3){border-right:0}.hero-try-card>label{padding:9px 11px 8px}.hero-try-card h2{margin-top:1px}.hero-live-flow{padding:7px 8px}}

/* v3.11.6.0 — AI 답변 퀘스트·실행권·친구 초대 보상 */
.quest-wallet{position:relative;z-index:2;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:8px;border:1px solid #ffffff20;border-radius:13px;background:#0b120a8f;box-shadow:inset 0 1px 0 #ffffff12}.quest-wallet>div{min-width:91px;padding:7px 9px;border:1px solid #ffffff17;border-radius:9px;background:#ffffff0a}.quest-wallet small{display:block;margin-bottom:2px;color:#aebba8;font-size:8px;font-weight:750}.quest-wallet b{display:flex;align-items:baseline;gap:2px;color:#fff;font-size:11px}.quest-wallet b i{color:#efd084;font:900 19px var(--mono);font-style:normal}.quest-wallet>p{margin:0!important;padding:0 4px;color:#bac6b4!important;font-size:9.5px!important;line-height:1.45!important}.quest-wallet>p strong{display:block;color:#e7c16e;font-size:11px}.quest-clear{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-2px 0 11px;padding-bottom:9px;border-bottom:1px dashed #ccd5c4}.quest-clear span{display:inline-flex;align-items:center;gap:5px;color:#4d7940;font:850 9px var(--mono);letter-spacing:.5px}.quest-clear span::before{content:'✓';display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#568348;color:#fff;font-size:10px;box-shadow:0 0 0 4px #6e9e5c18}.quest-clear b{color:#8b9484;font:700 8.5px var(--mono)}
.referral-quest{position:relative;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:13px;padding:15px;border:1px solid #dfc077;border-radius:17px;background:radial-gradient(circle at 0 0,#fff7d6,transparent 42%),linear-gradient(135deg,#fffdf5,#f6f0df);box-shadow:0 13px 28px #8d6e2b18;overflow:hidden}.referral-quest::after{content:'';position:absolute;width:110px;height:110px;right:-65px;top:-68px;border:1px solid #caa85b2e;border-radius:50%;box-shadow:0 0 0 22px #d9b86910}.referral-quest[hidden]{display:none!important}.referral-reward{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#273b21,#5d7c49);color:#f8d981;font:900 21px var(--mono);box-shadow:0 9px 18px #26391f2e;transform:rotate(-3deg)}.referral-quest>div:nth-child(2){display:grid;gap:2px}.referral-quest>div>span{color:#9b7229;font:850 8.5px var(--mono);letter-spacing:.5px}.referral-quest>div>b{color:#293326;font-size:11.5px;line-height:1.4}.referral-quest>div>small{color:#8a8e84;font-size:8.5px}.referral-quest>button{position:relative;z-index:1;display:flex;align-items:center;gap:8px;min-height:42px;padding:9px 12px;border:0;border-radius:11px;background:#2e4328;color:#fff;font-family:inherit;font-size:10px;font-weight:850;cursor:pointer;box-shadow:0 8px 16px #2639202b;transition:transform .18s,filter .18s}.referral-quest>button:hover{transform:translateY(-2px);filter:brightness(1.1)}.referral-quest>button i{color:#f0cf7c;font-style:normal}.referral-quest>p{grid-column:2/4;display:flex;gap:14px;margin:0;color:#73796d;font-size:8.8px}.referral-quest>p b{color:#547242;font:850 10px var(--mono)}
@media(max-width:720px){.quest-wallet{grid-template-columns:1fr 1fr;gap:6px;padding:6px}.quest-wallet>div{min-width:0;padding:5px 8px}.quest-wallet>p{display:none}.quest-wallet small{font-size:7.5px}.quest-wallet b i{font-size:16px}.hero-try-card>p{display:none}.hero-try-card h2{font-size:25px}.hero-live-flow{margin-top:-2px}.referral-quest{grid-template-columns:49px 1fr;padding:12px;gap:10px}.referral-reward{width:47px;height:47px;border-radius:14px;font-size:18px}.referral-quest>button{grid-column:1/-1;justify-content:center}.referral-quest>p{grid-column:1/-1;justify-content:center}.referral-quest>div>b{font-size:11px}}
@media(prefers-reduced-motion:reduce){.quest-clear span::before{animation:none!important}}

/* v3.11.7.0 — 매일 1개 실제 원고를 만드는 안전 실행실 */
.result-policy{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid #e7cf92;border-radius:12px;background:#fff9e8;color:#69552e}.result-policy[hidden]{display:none!important}.result-policy::before{content:'!';display:grid;place-items:center;flex:none;width:21px;height:21px;border-radius:50%;background:#c88a2d;color:#fff;font:900 11px var(--mono)}.result-policy b{flex:none;font-size:9.5px}.result-policy span{font-size:9.5px;line-height:1.5}.execution-lab{display:grid;gap:12px;padding:17px;border:1px solid #cbd8bf;border-radius:19px;background:radial-gradient(circle at 100% 0,#deebd2,transparent 34%),linear-gradient(145deg,#fbfdf7,#f1f6eb);box-shadow:0 16px 34px #344a2815}.execution-lab[hidden]{display:none!important}.execution-lab>header{display:grid;grid-template-columns:1fr 76px;gap:15px;align-items:start}.execution-lab>header span{color:#5b7b47;font:850 8.5px var(--mono);letter-spacing:.7px}.execution-lab>header h4{margin:5px 0 4px;color:#263322;font-size:15px;line-height:1.4}.execution-lab>header p{margin:0;color:#727c6d;font-size:9.5px;line-height:1.55}.execution-lab>header>strong{display:grid;place-items:center;padding:10px 7px;border:1px solid #b8c9aa;border-radius:14px;background:#fff;color:#526b42;font-size:10px;box-shadow:0 7px 16px #3b502e12}.execution-lab>header>strong i{color:#3f6833;font:900 25px var(--mono);font-style:normal;line-height:1}.execution-lab>header>strong small{margin-top:3px;color:#8e9789;font-size:7.5px}.execution-types{display:grid;grid-template-columns:1fr 1fr;gap:7px}.execution-types label{position:relative;cursor:pointer}.execution-types input{position:absolute;opacity:0;pointer-events:none}.execution-types span{display:grid;gap:2px;min-height:56px;padding:10px 12px;border:1.5px solid #d4dbce;border-radius:12px;background:#fff;transition:.18s}.execution-types span b{color:#34422e;font-size:10.5px}.execution-types span small{color:#899083;font-size:8.5px}.execution-types label:hover span{transform:translateY(-1px);border-color:#749260}.execution-types input:checked+span{border-color:#557945;background:#eef5e8;box-shadow:inset 0 0 0 1px #557945,0 6px 14px #49603a15}.execution-types input:checked+span::after{content:'선택';position:absolute;right:9px;top:8px;padding:3px 6px;border-radius:99px;background:#557945;color:#fff;font-size:7px;font-weight:850}.execution-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.execution-fields label{display:grid;gap:5px;padding:9px 11px;border:1px solid #d9ded4;border-radius:11px;background:#fff}.execution-fields label>span{color:#5f6859;font-size:8.5px;font-weight:800}.execution-fields label>span small{color:#a1a69c;font-weight:500}.execution-fields input{width:100%;padding:2px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#263023!important;font-size:11px!important}.execution-fields input:focus{outline:0!important}.execution-rule{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px dashed #bdc8b4;border-radius:11px;background:#ffffff9c}.execution-rule>i{display:grid;place-items:center;flex:none;width:21px;height:21px;border-radius:7px;background:#527641;color:#fff;font-size:10px;font-style:normal}.execution-rule p{display:grid;gap:2px;margin:0}.execution-rule b{color:#45543d;font-size:9px}.execution-rule span{color:#828a7d;font-size:8px;line-height:1.45}.execution-start{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 14px;border:0;border-radius:12px;background:linear-gradient(105deg,#2d4526,#5a7947);color:#fff;font-family:inherit;font-size:11.5px;font-weight:900;cursor:pointer;box-shadow:0 10px 20px #2b41243b;transition:.18s}.execution-start:hover{transform:translateY(-2px);filter:brightness(1.08)}.execution-start:disabled{opacity:.62;pointer-events:none}.execution-start i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#ffffff15;color:#f1d17c;font-style:normal}.execution-progress{display:grid;gap:7px;padding:11px;border:1px solid #d9dfd3;border-radius:11px;background:#fff}.execution-progress[hidden],.execution-result[hidden]{display:none!important}.execution-progress>div{display:flex;justify-content:space-between;gap:10px}.execution-progress>div span{color:#45623a;font-size:9.5px;font-weight:850}.execution-progress>div b{color:#8a9184;font:650 8px var(--mono)}.execution-progress>i{display:block;height:7px;border-radius:99px;background:#e5e9e1;overflow:hidden}.execution-progress>i u{display:block;width:5%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6a9254,#d5aa4e);text-decoration:none;transition:width .6s}.execution-progress>p{margin:0;color:#7d8677;font-size:8.7px}.execution-result{display:grid;gap:9px;padding:12px;border:1px solid #b9cbaa;border-radius:13px;background:#fff}.execution-result>header{display:grid;gap:2px}.execution-result>header span{color:#527544;font-size:8px;font-weight:850}.execution-result>header b{font-size:11px}.execution-result pre{max-height:360px;margin:0;padding:13px;border-radius:10px;background:#202b1d;color:#e8eee3;font:500 10px/1.65 var(--mono);white-space:pre-wrap;overflow:auto}.execution-result>div{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:6px}.execution-result button{padding:9px 8px;border:1px solid #ccd4c5;border-radius:9px;background:#f8faf5;color:#43533a;font-family:inherit;font-size:9px;font-weight:800;cursor:pointer}.execution-result button:last-child{display:flex;justify-content:center;gap:6px;border-color:#38542e;background:#38542e;color:#fff}.execution-result button i{font-style:normal}.execution-resume{position:fixed;z-index:80;right:22px;bottom:22px;display:flex;align-items:center;gap:10px;min-width:260px;padding:12px 14px;border:1px solid #d7b760;border-radius:15px;background:#25351f;color:#fff;font-family:inherit;box-shadow:0 20px 50px #111c0e5c;cursor:pointer;animation:diag-in .35s ease}.execution-resume>i{width:10px;height:10px;border-radius:50%;background:#e7bd62;box-shadow:0 0 0 6px #e7bd6221;animation:livepulse 1.6s infinite}.execution-resume span{display:grid;text-align:left}.execution-resume b{font-size:10.5px}.execution-resume small{color:#bfcab9;font-size:8.5px}.execution-resume em{margin-left:auto;color:#e9ca78;font-style:normal}
.execution-result>p{margin:0;padding:8px 10px;border-radius:9px;background:#fff8e8;color:#756039;font-size:8px;line-height:1.5}
@media(max-width:720px){.execution-lab{padding:13px;border-radius:16px}.execution-lab>header{grid-template-columns:1fr 63px;gap:8px}.execution-lab>header h4{font-size:13px}.execution-types,.execution-fields{grid-template-columns:1fr}.execution-types span{min-height:50px}.execution-result>div{grid-template-columns:1fr 1fr}.execution-result button:last-child{grid-column:1/-1}.execution-resume{left:13px;right:13px;bottom:12px;min-width:0}.result-policy{display:grid;grid-template-columns:21px 1fr}.result-policy b,.result-policy span{grid-column:2}}
@media(prefers-reduced-motion:reduce){.execution-resume,.execution-resume>i{animation:none!important}}
/* §551 super_admin 컨테이너 우클릭 메뉴 */
.ctxmenu{position:absolute;z-index:90;width:410px;max-width:calc(100vw - 12px);background:var(--paper);border:1px solid var(--line2);border-radius:14px;padding:10px 12px;box-shadow:0 24px 60px #1c211a44;font-size:13px;animation:fadein .12s}
.ctxmenu .ctx-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 2px 8px;border-bottom:1px solid var(--line)}.ctxmenu .ctx-h b{font-size:14px}
.ctxmenu .ctx-sec{font-size:11px;font-weight:700;color:var(--mut);letter-spacing:.5px;text-transform:uppercase;margin:9px 0 5px}.ctxmenu .ctx-sec small{font-weight:400;text-transform:none;letter-spacing:0}
.ctxmenu .ctx-item{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:0 0 6px;background:#fff}
.ctxmenu .ctx-item .ctx-title{font-weight:600;margin:3px 0 2px;line-height:1.35;word-break:break-all}
.ctxmenu .ctx-acts{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.ctxmenu .ctx-acts .btn{padding:4px 9px;font-size:12px}
.ctxmenu .ctx-empty{color:var(--mut);padding:8px 4px;font-size:12.5px}
.ctx-pre{white-space:pre-wrap;word-break:break-all;background:#faf8f2;border:1px solid var(--line);border-radius:10px;padding:12px 14px;max-height:60vh;overflow:auto;font-family:var(--mono);font-size:12px;line-height:1.5;margin:0 0 10px}.ctx-pre.small{max-height:30vh;font-size:11px}

/* ═══════════════════════════════════════════════════════════════
   §572 2026-09-06 낮(아이보리/올리브) 테마 통일 — 관리 콘솔의 다크 블록(업체 작업공간 오버뷰·AI 패널·코드칩·로그·토스트)을
   디자인 시스템 v3 팔레트(var(--bg/--card/--line/--tx/--ac…))로 재도색. 호버 테두리(링) 확대. 기존 규칙 뒤에 덧붙여 우선 적용.
   ═══════════════════════════════════════════════════════════════ */
/* 업체 작업공간 오버뷰 카드 */
.container-overview{background:linear-gradient(135deg,#fffdf8 0,#f3f4ea 55%,#e7ecd9 100%);color:var(--tx);border:1px solid var(--line2);box-shadow:0 12px 30px #25301e14}
.container-overview .infra,.infra{color:var(--ac);background:var(--acs);border:1px solid var(--acs2)}
.cotg.more{background:var(--acs);color:var(--ac);border-color:var(--ac2)}
.container-filters .cf b{background:var(--acs2);color:var(--ac)}
.cocard .cocode{background:var(--acs2);color:var(--ac)}
.detail-fold-hint{background:#ffffffe6;color:var(--tx);border-color:#ffffff}
/* 워커 카드 헤더(컬러 그라데이션은 유지) 안의 검은 반투명 배지 → 흰 반투명 + 진한 글자 */
.whead .badge,.whead .live,.wrun{background:#ffffffd9;color:var(--tx);border:1px solid #ffffff;text-shadow:none}
.wlive{background:#ffffffd6;border:1px solid #ffffff;color:var(--tx)}
.wlive .pulse,.wlive .meter,.wlive .meter>span,.wlive .meter b{color:var(--tx)}
.wlive .pulse i,.wlive .meter .bar i{background:var(--ac)}
.wlive .lvbar i,.wlive .meter .bar{background:#1c211a1a}
.wlive .lvbar i.on{background:var(--ac)}
/* 로그·토스트·모달 */
pre.log{background:#f4f2ea;color:var(--tx2);border:1px solid var(--line2)}
.toast{background:#fffdf8;color:var(--tx);border:1px solid var(--line2);box-shadow:0 12px 30px #25301e2e}
.modal{background:#1c211a66}
/* AI 패널 */
.aipanel{border-color:var(--line2);background:linear-gradient(145deg,#fffdf8,#f4f5ec 58%,#e9eedc);color:var(--tx);box-shadow:0 16px 40px #25301e1a}
.ap-toggle small{color:var(--mut)}
.ap-toggle i{border-right-color:var(--mut);border-bottom-color:var(--mut)}
.ap-spark{border-color:#ffffff;box-shadow:0 6px 16px #54653933}
.ap-status{background:var(--warns);color:var(--warn)}
.ap-body{border-top-color:var(--line);background:linear-gradient(180deg,#ffffff80,transparent)}
.ap-input>span,.ap-model>span{color:var(--mut)}
.ap-input textarea,.aipanel select,.aipanel input[type=text]{border-color:var(--line2);background:#fff;color:var(--tx)}
.ap-input textarea::placeholder{color:var(--mut2)}
.ap-input textarea:focus{border-color:var(--ac2);box-shadow:0 0 0 4px var(--acs2)}
.ap-shortcut{color:var(--mut)}
.ap-shortcut kbd{border-color:var(--line2);border-bottom-color:var(--line2);background:#fff;color:var(--tx2)}
.ap-refresh{color:var(--tx2);border-color:var(--line2);background:#fff}
.ap-refresh:hover{border-color:var(--ac);box-shadow:0 0 0 3px var(--acs2)}
.ap-list{border-top-color:var(--line);scrollbar-color:var(--line2) transparent}
.ap-list::-webkit-scrollbar-thumb{background:var(--line2)}
.ap-row .badge{background:var(--bg2);color:var(--tx2)}
.ap-row.st-done .badge{background:var(--oks);color:var(--ok)}
.ap-row.st-claimed .badge{background:var(--warns);color:var(--warn)}
.ap-row.st-pending .badge{background:var(--infos);color:var(--info)}
.ap-row.st-failed .badge,.ap-row.st-cancelled .badge{background:var(--bads);color:var(--bad)}
.ap-body .muted{color:var(--mut)}
.ap-body .bad{color:var(--bad)}
.ap-res-w{color:var(--tx2)}
.ap-mi{border-color:var(--line2);background:#fff;color:var(--tx2)}
.ap-mi:hover{background:var(--acs);color:var(--ac);border-color:var(--ac2);box-shadow:0 0 0 3px var(--acs2)}
.ap-mi.on{color:#fff9ec;box-shadow:0 0 0 3px var(--acs2),0 4px 12px #0002}
/* 호버 테두리(링) 확대 */
.wcard:hover{border-color:var(--wc);box-shadow:0 0 0 5px color-mix(in srgb,var(--wc) 55%,#fff),0 18px 34px -10px color-mix(in srgb,var(--wc) 50%,transparent)}
.cocard:hover{border-color:var(--ac2);box-shadow:0 0 0 4px var(--acs2),var(--sh)}
.opt:not(:has(input:disabled)):hover{border-color:var(--ac);box-shadow:0 0 0 4px var(--acs2),0 10px 22px #3543251b}
.chip:hover,.chip.ro:hover,.sbtn:hover,.wnav-item:hover{border-color:var(--ac);box-shadow:0 0 0 3px var(--acs2)}
.btn.ghost:hover{border-color:var(--ac2);box-shadow:0 0 0 3px var(--acs2)}
.tabs a:hover{box-shadow:inset 0 -3px 0 var(--ac2)}

/* Authentication notices: concise disclosure with a visible pointer/focus state. */
.wc-auth-alert>summary{list-style:none;transition:background-color .15s,box-shadow .15s}
.wc-auth-alert>summary::-webkit-details-marker{display:none}
.wc-auth-alert>summary::after{content:'⌄';font-size:14px;margin-left:2px}
.wc-auth-alert[open]>summary::after{transform:rotate(180deg)}
.wc-auth-alert>summary>span:last-child{margin-left:auto}
.wc-auth-alert>summary:hover{background:#fff1da;box-shadow:inset 3px 0 #bf8736}
.wc-auth-alert>summary:focus-visible{outline:2px solid #b57b2d;outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.wc-auth-alert>summary{transition:none}}
.wc-quota-export-status:not(:empty){flex-basis:100%;font-size:10px;line-height:1.5;color:#49627d}
@media(max-width:900px){
  .app-shell .top nav{flex:0 0 100%;min-width:0;width:100%;height:38px;gap:4px;overflow-x:auto}
  .app-shell .top nav a{flex:0 0 auto;white-space:nowrap;font-size:12px;padding:0 10px}
  .app-shell .top .me{margin-left:auto;gap:8px;font-size:11px;max-width:100%;flex-wrap:wrap}
}
/* Live execution tags: keep model and stage readable on narrow screens. */
.ld-worker{grid-template-columns:120px 110px minmax(0,1fr)}
.ld-jobs,.ld-job,.ld-title,.ld-meta{min-width:0}
.ld-title,.ld-meta{overflow-wrap:anywhere}
@media(max-width:700px){.livedash{padding:12px}.ld-worker{grid-template-columns:minmax(0,1fr) auto}.ld-worker .ld-jobs{grid-column:1/-1}.ld-job{padding:8px}.ld-meta{flex-basis:100%;margin-left:0}}


/* Shared container controls on both super-admin pages. */
.wc-container-list{min-width:0;width:100%}.wc-container-list-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.wc-container-list-tools>span{margin-right:auto}
details.wc-container{padding:0;margin:10px 0;border:1px solid #d9e2ea;border-left:4px solid var(--rc,#547a98);border-radius:12px;background:#fff;overflow:hidden;scroll-margin-top:24px;box-shadow:0 2px 8px #243c5005}
details.wc-container[open]{border-color:var(--rc,#547a98);box-shadow:0 4px 18px #243c5010}
.wc-container>summary.wc-container-summary{list-style:none;display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,1fr) auto minmax(240px,auto) auto;align-items:center;gap:12px;padding:16px;margin:0;cursor:pointer;background:#fff;color:#23394e;font-size:13px;font-weight:400;min-height:76px}
.wc-container-summary::-webkit-details-marker{display:none}.wc-container-summary:focus-visible{outline:3px solid #4185c6;outline-offset:-3px}.wc-container-summary:hover{background:#f5f8fb}.wc-container[open]>.wc-container-summary{background:#f0f5f9;border-bottom:1px solid #dce5ed}
.wc-container-identity{display:grid;gap:4px;min-width:0}.wc-container-identity>b{font-size:14px;color:var(--rc,#365873)}.wc-container-identity>small{color:#6b7c8e;overflow-wrap:anywhere}.wc-container-owner{font-weight:600;overflow-wrap:anywhere}
.wc-container-summary .minis{display:flex;flex-wrap:wrap;gap:5px;margin:0}.wc-container-summary .mini{white-space:nowrap;font-size:11px}
.wc-container-fold{display:flex;gap:7px;align-items:center;color:#60788c;font-size:11px;white-space:nowrap}.wc-container-fold i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}.wc-container[open] .wc-container-fold i{transform:rotate(225deg);margin-top:4px}.wc-container .when-open{display:none}.wc-container[open] .when-open{display:inline}.wc-container[open] .when-closed{display:none}
.wc-container-content{padding:16px;background:#f5f8fb;min-width:0}.wc-container-content[aria-busy=true]{opacity:.75}.wc-container-content-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.wc-container-accounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.wc-container-account{padding:16px;background:#fff;border:1px solid #d6e1ea;border-radius:10px;min-width:0;overflow-wrap:anywhere;color:#23394e}
.wc-container-account h4{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px;font-size:15px}.wc-container-account .bgrp{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.wc-container-account p{line-height:1.6}
.wc-container-window{padding:11px 0;border-top:1px solid #e4ebf0;margin-top:9px;display:grid;gap:6px}.wc-container-window progress{width:100%;height:9px;accent-color:#427d65}.wc-container-window progress.is-high{accent-color:#b44b37}.wc-container-window small{display:block;color:#617487;line-height:1.5}
.wc-container-matching{padding-top:15px;margin-top:16px;border-top:1px solid #dce6ee}.wc-container-matching h5{font-size:13px;margin:0 0 6px}.wc-container-matching>p{margin:0 0 9px}
.wc-container-match-options{display:flex;flex-direction:column;gap:5px;max-height:280px;overflow:auto;padding:2px}.wc-container-match{display:flex;align-items:center;gap:8px;border:1px solid #e0e7ed;background:#fff;border-radius:6px;padding:9px;cursor:pointer;font-size:12px;line-height:1.4;min-height:38px}.wc-container-match>input,.wc-container-queue>input{appearance:auto;width:16px;height:16px;min-width:16px;flex:none;margin:0;accent-color:#387352}.wc-container-match>span{flex:1;min-width:0}.wc-container-match>small{font-size:10px;color:#62798b}.wc-container-match.on{border-color:#9abdac;background:#f1f8f4}.wc-container-match[aria-disabled=true]{cursor:default}.wc-container-match:focus-within{outline:2px solid #4185c6;outline-offset:1px}
.wc-container-operations{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #d9e3ec}.wc-container-queue{display:flex;gap:7px;align-items:center;margin-right:auto;font-size:12px}
@media(max-width:1200px){.wc-container>summary.wc-container-summary{grid-template-columns:minmax(140px,1fr) minmax(130px,1fr) auto auto}.wc-container-summary .minis{grid-column:1 / -1;grid-row:2}.wc-container-accounts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.wc-container>summary.wc-container-summary{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:13px}.wc-container-owner{grid-column:1;grid-row:2;font-size:12px}.wc-container-runtime{grid-column:2;grid-row:2}.wc-container-fold{grid-column:2;grid-row:1}.wc-container-summary .minis{grid-row:3}.wc-container-content{padding:10px}.wc-container-accounts{grid-template-columns:1fr}.wc-container-account{padding:13px}.wc-container-list-tools>span{flex-basis:100%;order:2}.wc-container-list-tools>b{margin-right:auto}.wc-container-operations{gap:8px}.wc-container-match-options{max-height:260px}}

.wc-container-summary .minis{align-items:flex-start;gap:8px 14px;min-width:0}.wc-summary-provider{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:210px}.wc-summary-email{display:block;font:11px/1.45 ui-monospace,monospace;color:#39715b;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.wc-ds-identity,.wc-ds-identity-fields{display:grid;gap:7px;margin:10px 0 14px;min-width:0}.wc-ds-identity label,.wc-ds-identity-fields label{font-size:12px;color:#536f62}.wc-ds-identity input,.wc-ds-identity select,.wc-ds-identity-fields input,.wc-ds-identity-fields select{width:100%;min-width:0;padding:9px;border:1px solid #cedbd3;border-radius:7px;font:12px/1.5 inherit;background:#fff}.wc-ds-identity button{justify-self:start}
@media(max-width:1200px){.wc-container-summary .minis{gap:10px 16px}}@media(max-width:700px){.wc-summary-provider{max-width:100%}.wc-summary-email{font-size:10px}.wc-container-summary .minis{display:grid;grid-template-columns:1fr;gap:8px}}

/* Account labels stay within their own login badge width. */
.wc-summary-provider{display:grid;grid-template-columns:auto;width:max-content;justify-self:start;gap:4px;max-width:100%}.wc-summary-email{width:0;min-width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;word-break:normal;cursor:help}

/* Reserve identical status and email slots, including long login-required labels. */
.wc-container-summary .wc-summary-provider{width:160px;flex:0 0 160px;grid-template-columns:minmax(0,1fr);grid-template-rows:24px 16px;align-items:start;gap:4px}.wc-container-summary .wc-summary-provider>.mini{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:24px;margin:0;white-space:nowrap}.wc-container-summary .wc-summary-email{width:100%;min-width:0;line-height:16px;text-align:center}

/* Expired authentication needs attention, distinct from an unused login. */
.wc-container-summary .mini.is-expired,.wc-container-account[data-account-auth="expired"]>h4 .badge{background:#fff0f0;color:#a73838;border-color:#e8b7b7}

/* Super-admin authentication overview. */
.wc-auth-dashboard{margin:16px 0 24px;padding:22px;border:1px solid #d7e3dc;border-radius:16px;background:#fff}.wc-auth-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.wc-auth-dashboard h2{font-size:20px;margin:0}.wc-auth-dashboard-head p,.wc-auth-explainer{font-size:12px;color:#66786e;line-height:1.7;margin:8px 0}.wc-auth-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.wc-auth-metric{box-sizing:border-box;border:1px solid #dce5df;border-radius:10px;background:#f5f8f6;color:#52665c;padding:14px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;font:inherit;text-align:left;min-width:0}.wc-auth-metric>b{font-size:25px;margin-left:auto;font-variant-numeric:tabular-nums}.wc-auth-metric>small{flex-basis:100%;font-size:11px}.wc-auth-metric.ready{color:#2e6e4b;background:#edf7f0}.wc-auth-metric.lost{color:#a73838;background:#fff0f0;border-color:#e8b7b7}.wc-auth-metric.needed{color:#846024;background:#fff8e9;border-color:#e9d7ac}button.wc-auth-metric{cursor:pointer}button.wc-auth-metric:hover{box-shadow:0 0 0 2px currentColor}button.wc-auth-metric:focus-visible{outline:3px solid #4185c6;outline-offset:3px}.wc-auth-companies{display:grid;gap:10px;margin-top:16px}.wc-auth-company{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);align-items:center;gap:14px;padding-top:12px;border-top:1px solid #e7ede9}.wc-auth-company>strong{overflow-wrap:anywhere;font-size:14px}.wc-auth-company-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wc-auth-company .wc-auth-metric{padding:9px;font-size:11px}.wc-auth-company .wc-auth-metric>b{font-size:18px}.wc-auth-destination{outline:3px solid #bd7142;outline-offset:3px;scroll-margin:30px}@media(max-width:700px){.wc-auth-dashboard{padding:15px}.wc-auth-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wc-auth-company{grid-template-columns:1fr;gap:8px}.wc-auth-company-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.wc-auth-metric{font-size:12px}}

.wc-auth-dates{margin:12px 0;padding:12px;background:#f6f8f7;border:1px solid #dde6e0;border-radius:8px;font-size:12px}.wc-auth-dates dl{display:grid;grid-template-columns:1fr;gap:3px;margin:10px 0}.wc-auth-dates dt{color:#66786e;font-size:11px}.wc-auth-dates dd{margin:0 0 7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.wc-auth-history>summary{cursor:pointer;color:#436c58;padding:8px 0}.wc-auth-history ol{padding:0;list-style:none;margin:0}.wc-auth-history li{display:grid;gap:4px;padding:8px 0;border-top:1px solid #dbe5df}.wc-auth-history time{font-size:10px;color:#6a7c70}

/* §PHOTO2(2026-09-16): 워커 행 빠른 조작(접힌 상태에서도 표시) — 사진전용 스위치 + 컨테이너 생성 */
.wquick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.wquick .switch.mt.corner{margin:0;background:#00000033;border:1px solid #ffffff55;border-radius:999px;padding:4px 10px 4px 6px}.wquick .switch.mt.corner.photo input:checked+i{background:#7c3aed}.wquick .switch.mt.corner.photo.on{background:#7c3aed55;border-color:#c4b5fd}.wquick .btn.newws{padding:6px 12px}.container-detail-list .detail-collapsed .wquick{display:flex!important}.card.container-create.flash{box-shadow:0 0 0 4px #7c3aed99,0 12px 30px -10px #7c3aed88;transition:box-shadow .3s}.wopt .wphoto{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#7c3aed;color:#fff;font-size:10.5px;font-weight:800;vertical-align:middle}

/* §WDETAIL(대표님 2026-09-17): 워커 선택 카드 — 상단 뱃지 줄과 이름 줄 분리(이름이 뱃지에 가리지 않게), 카드 높이 확대 + 우클릭/ⓘ 상세 레이어 */
.container-worker-pick .wopt{min-height:118px!important;padding:40px 13px 12px!important;gap:5px}
.container-worker-pick .wopt::after{top:9px!important;right:10px!important}
.container-worker-pick .wopt>b{display:flex!important;flex-wrap:wrap;align-items:center;gap:5px 7px;padding-right:0!important;font-size:14.5px;line-height:1.3;white-space:normal;word-break:break-all;color:#1c211a}
.container-worker-pick .wopt .wtag{flex:none;height:24px;min-width:40px;font-size:12.5px;transform:none}
.container-worker-pick .wopt .wphoto{margin-left:0;flex:none}
.container-worker-pick .wopt .wbase{font-size:12px}
.container-worker-pick .wopt .winfo{position:absolute;left:11px;top:8px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--wc) 45%,#fff);border-radius:8px;background:#fff;color:var(--wc);font-size:10.5px;font-weight:800;cursor:help;line-height:1.1;opacity:.85;transition:.12s}
.container-worker-pick .wopt .winfo:hover{opacity:1;background:var(--wc);color:#fff}
.container-worker-pick .wopt.filter-off .winfo{opacity:1;pointer-events:auto;cursor:pointer}
.pick-hint{margin:6px 0 2px;font-size:11.5px}
.wdl-back{position:fixed;inset:0;z-index:95;background:transparent}
.wdl{position:fixed;z-index:96;width:min(520px,calc(100vw - 16px));max-height:min(78vh,720px);overflow:auto;background:var(--paper,#fff);border:1px solid var(--line2,#ddd);border-top:6px solid var(--wc,#4a6b3a);border-radius:16px;padding:14px 16px 12px;box-shadow:0 26px 70px #1c211a55;font-size:13px;color:#1c211a;animation:fadein .12s}
.wdl-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-bottom:9px;border-bottom:1px solid var(--line,#e6e3d8)}
.wdl-h .wtag{height:26px;min-width:44px;font-size:13px}
.wdl-h b{font-size:16px}
.wdl-h .wdl-x{margin-left:auto;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--mut,#777);padding:2px 6px}
.wdl-badges{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 4px}
.wdl-badges span{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef0e9;color:#4e584b;border:1px solid #dfe3d8}
.wdl-badges span.ok{background:#e6f6ea;color:#1f6b3a;border-color:#b8d9c1}.wdl-badges span.bad{background:#fbeeed;color:#94453d;border-color:#e6c5c1}.wdl-badges span.warn{background:#fff4dc;color:#8a5a0e;border-color:#ebcf95}.wdl-badges span.photo{background:#7c3aed;color:#fff;border-color:#7c3aed}
.wdl-grid{display:grid;grid-template-columns:86px minmax(0,1fr);gap:6px 10px;margin:8px 0;font-size:12.5px}
.wdl-grid>span{color:#6b6f66;font-size:11.5px;letter-spacing:.2px}.wdl-grid>div{min-width:0;word-break:break-all}
.wdl-sec{margin:11px 0 5px;font-size:11px;font-weight:800;color:#6b6f66;letter-spacing:.6px;text-transform:uppercase}
.wdl-cts{display:flex;flex-direction:column;gap:5px}
.wdl-ct{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;border:1px solid #e4e5df;border-radius:10px;background:#fafaf6;font-size:12px}
.wdl-ct .cc{font-family:var(--mono,monospace);font-weight:800;padding:2px 7px;border-radius:7px;background:var(--wc,#4a6b3a);color:#fff;font-size:11px}
.wdl-ct .cn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wdl-ct .cn small{color:#7a7f75;margin-left:5px}
.wdl-ct .cs{display:flex;gap:4px;flex:none}.wdl-ct .cs i{font-style:normal;font-size:10px;font-weight:800;padding:2px 6px;border-radius:6px;background:#ecece7;color:#666}.wdl-ct .cs i.on{background:#dff3e5;color:#1f6b3a}.wdl-ct .cs i.live{background:#1f6b3a;color:#fff}.wdl-ct .cs i.dead{background:#f3dcd9;color:#8f3c33}
.wdl-cap{margin-top:9px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--wc,#4a6b3a) 9%,#fff);border:1px solid color-mix(in srgb,var(--wc,#4a6b3a) 35%,#fff);font-size:12px}
.wdl-cap b{color:var(--wc,#4a6b3a)}
.wdl-acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid var(--line,#e6e3d8)}
.wdl-acts .btn{padding:7px 11px;font-size:12px}
@media(max-width:620px){.container-worker-pick .wopt{padding-top:44px!important}.wdl{left:8px!important;right:8px;width:auto;top:8vh!important}}

/* §WDETAIL-2(대표님 2026-09-17): 워커 번호 태그 — 카드 배경(초록/노랑/회색)과 워커색이 겹쳐 안 보임 → 흰 배경·짙은 글자·워커색 테두리로 항상 대비 확보. 사진전용 표시는 이름 아래 한 줄 전체 보라 띠로. */
.container-worker-pick .wopt .wtag,.wdl-h .wtag{background:#fff!important;color:#1c211a!important;border:2px solid var(--wc,#4a6b3a);box-shadow:0 1px 3px #0002;font-size:13.5px!important;font-weight:900;min-width:46px;height:26px;letter-spacing:.3px}
.container-worker-pick .wopt.filter-off .wtag{opacity:1;filter:none}
.container-worker-pick .wopt .wphoto,.wdl-h .wphoto{display:flex!important;align-items:center;gap:6px;flex:1 0 100%;width:100%;margin:2px 0 0!important;padding:5px 9px!important;border-radius:8px!important;background:linear-gradient(90deg,#6d28d9,#8b5cf6)!important;color:#fff!important;font-size:12px!important;font-weight:850!important;letter-spacing:.2px;box-shadow:0 2px 6px #6d28d955;opacity:1!important;visibility:visible!important}
.wdl-h .wphoto{flex:1 0 100%;margin-top:6px!important}
.container-worker-pick .wopt[data-photo="1"]{border-left-color:#7c3aed!important;box-shadow:inset 4px 0 0 #7c3aed}
.container-worker-pick .wopt[data-photo="1"] .winfo{border-color:#7c3aed;color:#6d28d9}

/* §WSTATE(대표님 2026-09-17): 워커 상태 고정 색 체계 — 보라 #7c3aed 사진전용 · 녹 #2e7d4f 일반/온라인 · 적 #c0392b 연결 끊김/도커 미준비 · 회 #6b7280 비활성/미연동 · 황 #d97706 점검 중 */
.container-detail-list>.wblock[data-wtype]{border-left:12px solid var(--st,#2e7d4f)!important;border-top:1px solid var(--line)}
.container-detail-list>.wblock[data-wtype] .whead{border-top:5px solid var(--st,#2e7d4f)}
.container-detail-list>.wblock[data-wtype=photo] .whead{box-shadow:inset 0 0 0 2px #7c3aed88}
.container-detail-list>.wblock[data-wstate=offline],.container-detail-list>.wblock[data-wstate=nodocker]{background:#fff7f6}
.container-detail-list>.wblock[data-wstate=inactive],.container-detail-list>.wblock[data-wstate=noagent]{filter:saturate(.55)}
.wstatbar{display:inline-flex!important;align-items:center;gap:6px;flex-wrap:wrap;margin-left:10px;position:relative;z-index:2}
.wstatbar .wst{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;background:#fff!important;color:var(--sc,#2e7d4f)!important;border:2px solid var(--sc,#2e7d4f);font-style:normal;font-size:12px;font-weight:850;letter-spacing:.2px;white-space:nowrap;text-shadow:none!important;box-shadow:0 2px 6px #0003}
.wstatbar .wst.photo{--sc:#7c3aed;background:#7c3aed!important;color:#fff!important;border-color:#5b21b6}
.wstatbar .wst.normal{--sc:#2e7d4f}
.container-detail-list .detail-collapsed .wstatbar{display:inline-flex!important}
.container-detail-list>.wblock[data-wtype=photo] .whead .wname::before{content:'📷 ';font-size:15px}
.wlegend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:2px 0 10px;padding:9px 12px;border:1px solid #e3e0d4;border-radius:12px;background:#fbfaf6;font-size:12px}
.wlegend>b{font-size:11.5px;color:#4e584b;letter-spacing:.3px;margin-right:2px}
.wlegend>i{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;border:2px solid var(--sc);color:var(--sc);background:#fff;font-style:normal;font-weight:800;font-size:11.5px}
.wlegend>i:first-of-type{background:var(--sc);color:#fff}
.wlegend>small{flex:1 0 100%;color:#7a7f75;font-size:11px}
.wnav-item .wnav-photo{margin:0 3px 0 -2px;font-size:12px}
.container-worker-pick .wopt[data-photo="1"]{border-left:9px solid #7c3aed!important;box-shadow:none}
.container-worker-pick .wopt[data-photo="0"][data-docker="1"]{border-left:9px solid #2e7d4f!important}
.container-worker-pick .wopt[data-docker="0"]{border-left:9px solid #c0392b!important}

/* §WSTATE-ANIM(대표님 2026-09-17): 사진전용 워커는 애니메이션으로 눈에 띄게 — 배지 펄스 + 왼쪽 띠 흐르는 광택 + 카메라 아이콘 깜빡임 (모션 최소화 설정이면 정지) */
@keyframes wphotoPulse{0%,100%{box-shadow:0 0 0 0 #7c3aed99,0 2px 6px #0003}50%{box-shadow:0 0 0 9px #7c3aed00,0 2px 6px #0003}}
@keyframes wphotoSheen{0%{background-position:0 0}100%{background-position:0 200%}}
@keyframes wphotoGlow{0%,100%{box-shadow:inset 0 0 0 2px #7c3aed88}50%{box-shadow:inset 0 0 0 4px #a78bfa,0 0 26px #7c3aed66}}
@keyframes wphotoBlink{0%,45%,100%{opacity:1;transform:scale(1)}55%{opacity:.35;transform:scale(1.25)}}
@keyframes wphotoStripe{0%{background-position:0 0}100%{background-position:56px 0}}
.wstatbar .wst.photo,.container-worker-pick .wopt .wphoto,.wdl-h .wphoto,.wdl-badges span.photo{animation:wphotoPulse 1.8s ease-out infinite;background:linear-gradient(90deg,#6d28d9,#8b5cf6,#6d28d9)!important;background-size:200% 100%!important}
.container-worker-pick .wopt .wphoto,.wdl-h .wphoto{animation:wphotoPulse 1.8s ease-out infinite,wphotoStripe 1.6s linear infinite;background:repeating-linear-gradient(90deg,#6d28d9 0 14px,#8b5cf6 14px 28px)!important;background-size:56px 100%!important}
.container-detail-list>.wblock[data-wtype=photo]{border-left-color:transparent!important;background-image:linear-gradient(180deg,#5b21b6,#a78bfa,#5b21b6,#a78bfa);background-size:100% 200%;background-repeat:repeat;background-clip:border-box;animation:wphotoSheen 2.6s linear infinite}
.container-detail-list>.wblock[data-wtype=photo]>*{background-color:#fff}
.container-detail-list>.wblock[data-wtype=photo] .whead{animation:wphotoGlow 2.4s ease-in-out infinite}
.container-detail-list>.wblock[data-wtype=photo] .whead .wname::before,.wnav-item .wnav-photo{display:inline-block;animation:wphotoBlink 1.6s ease-in-out infinite}
.container-worker-pick .wopt[data-photo="1"]{border-left-color:transparent!important;background-image:linear-gradient(180deg,#5b21b6,#a78bfa,#5b21b6,#a78bfa)!important;background-size:9px 200%!important;background-repeat:no-repeat!important;background-position:0 0!important;animation:wphotoSheen 2.6s linear infinite}
.container-worker-pick .wopt[data-photo="1"].capacity-zero,.container-worker-pick .wopt[data-photo="1"].capacity-one,.container-worker-pick .wopt[data-photo="1"].capacity-all{background-image:linear-gradient(180deg,#5b21b6,#a78bfa,#5b21b6,#a78bfa),linear-gradient(135deg,#faf5ff,#ede9fe)!important;background-size:9px 200%,100% 100%!important;background-repeat:no-repeat,no-repeat!important;background-position:0 0,0 0!important}
.wlegend>i:first-of-type{animation:wphotoPulse 1.8s ease-out infinite}
@media (prefers-reduced-motion:reduce){.wstatbar .wst.photo,.container-worker-pick .wopt .wphoto,.wdl-h .wphoto,.wdl-badges span.photo,.container-detail-list>.wblock[data-wtype=photo],.container-detail-list>.wblock[data-wtype=photo] .whead,.container-detail-list>.wblock[data-wtype=photo] .whead .wname::before,.wnav-item .wnav-photo,.container-worker-pick .wopt[data-photo="1"],.wlegend>i:first-of-type{animation:none!important}}

/* §WSTATE-GLOW(대표님 2026-09-17 01:50 "사진 만드는 캐릭터 눈에 팍팍 띄게 빛나게"): 사진전용 워커 전체를 보라 발광체로 —
   블록 바깥 후광(halo) 맥동 + 헤더 보라 그라데이션 강제(--wc 덮음) + 밝은 광택 스윕 + 카메라 아이콘·배지 확대 발광 + 상단 「📷 사진 전용 워커」 리본 + 생성폼 카드·바로가기 칩·토글도 동일 후광 */
@keyframes wphotoHalo{0%,100%{box-shadow:0 0 0 3px #c4b5fd,0 0 0 8px #7c3aed33,0 0 34px 6px #8b5cf6aa,0 14px 40px #4c1d9540}50%{box-shadow:0 0 0 4px #ede9fe,0 0 0 11px #7c3aed55,0 0 70px 18px #a855f7ee,0 14px 40px #4c1d9560}}
@keyframes wphotoHaloSm{0%,100%{box-shadow:0 0 0 2px #fff,0 0 0 4px #a78bfa,0 0 14px 3px #8b5cf6cc}50%{box-shadow:0 0 0 2px #fff,0 0 0 5px #c4b5fd,0 0 30px 9px #a855f7}}
@keyframes wphotoSweep{0%{left:-60%}100%{left:130%}}
@keyframes wphotoText{0%,100%{text-shadow:0 0 6px #fff,0 0 14px #c4b5fd,0 0 26px #a855f7}50%{text-shadow:0 0 10px #fff,0 0 26px #e9d5ff,0 0 48px #c084fc,0 0 70px #a855f7}}
@keyframes wphotoIcon{0%,100%{transform:scale(1) rotate(-6deg);filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #c4b5fd)}50%{transform:scale(1.35) rotate(8deg);filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 22px #e9d5ff) drop-shadow(0 0 34px #a855f7)}}
.wblock[data-wtype=photo]{--wc:#7c3aed!important;--wc2:#c4b5fd!important;--st:#7c3aed!important;position:relative;overflow:visible!important;border-color:#a78bfa!important;border-left-color:transparent!important;margin-top:34px!important;margin-bottom:38px!important;border-left:12px solid transparent!important;background-image:linear-gradient(180deg,#5b21b6,#a78bfa,#5b21b6,#a78bfa);background-size:100% 200%;background-repeat:repeat;background-clip:border-box;animation:wphotoSheen 2.6s linear infinite,wphotoHalo 1.6s ease-in-out infinite}
.wblock[data-wtype=photo] .whead .wname{white-space:nowrap}
.wphoto-note{display:block;max-width:480px;margin-top:6px;padding:6px 12px;border-radius:10px;background:#fff;color:#5b21b6;border:2px solid #c4b5fd;font-size:12.5px;font-weight:800;box-shadow:0 0 0 2px #7c3aed22,0 0 14px #a855f766;animation:wphotoHaloSm 1.6s ease-in-out infinite}
.wblock[data-wtype=photo]>*{background-color:#f5f0ff}
.wblock[data-wtype=photo]>.whead:first-child,.wblock[data-wtype=photo]>.maintband:first-child{border-radius:17px 17px 0 0}
.wblock[data-wtype=photo]>:last-child{border-radius:0 0 17px 17px}
.wblock[data-wtype=photo] .wbody,.wblock[data-wtype=photo] .wcos{background:linear-gradient(180deg,#f3ecff,#faf7ff 40%)!important}
.wblock[data-wtype=photo] .whead{background:linear-gradient(115deg,#4c1d95 0%,#7c3aed 45%,#a855f7 100%)!important;border-top-color:#e9d5ff!important;box-shadow:inset 0 0 0 3px #e9d5ff88,inset 0 -18px 30px -18px #ffffff66!important;animation:none!important}
.wblock[data-wtype=photo] .whead::after{width:34%;background:linear-gradient(100deg,transparent,#ffffff99 45%,#ffffffee 50%,#ffffff99 55%,transparent)!important;animation:wphotoSweep 1.4s ease-in-out infinite!important;left:-60%}
.wblock[data-wtype=photo] .whead .wname{font-size:22px;animation:wphotoText 1.6s ease-in-out infinite}
.wblock[data-wtype=photo] .whead .wname::before{content:'📷';font-size:26px;margin-right:8px;display:inline-block;animation:wphotoIcon 1.2s ease-in-out infinite!important}
.wblock[data-wtype=photo] .whead .wlabel{background:#fff!important;color:#6d28d9!important;box-shadow:0 0 0 2px #c4b5fd,0 0 16px #c084fc!important}
.wblock[data-wtype=photo] .wstatbar .wst.photo{font-size:14.5px;padding:7px 15px;border:2px solid #fff!important;background:linear-gradient(90deg,#5b21b6,#8b5cf6,#5b21b6)!important;background-size:200% 100%!important;animation:wphotoHaloSm 1.4s ease-in-out infinite,wphotoText 1.6s ease-in-out infinite!important}
.wblock[data-wtype=photo]::before{content:'📷 사진 전용 워커 · 이미지 생성 담당';position:absolute;top:-19px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap;padding:8px 18px;border-radius:999px;font-size:13.5px;font-weight:900;letter-spacing:.4px;color:#fff;border:2px solid #fff;background:linear-gradient(90deg,#4c1d95,#8b5cf6,#c084fc,#8b5cf6,#4c1d95);background-size:300% 100%;animation:wphotoStripe 2.2s linear infinite,wphotoHaloSm 1.4s ease-in-out infinite,wphotoText 1.6s ease-in-out infinite}
.wblock[data-wtype=photo] .wquick .switch.photo.on{background:#fff!important;border-color:#fff!important;animation:wphotoHaloSm 1.4s ease-in-out infinite}
.wblock[data-wtype=photo] .wquick .switch.photo.on b{color:#6d28d9!important;font-weight:900}
.wblock[data-wtype=photo] .wquick .btn.createhere{background:linear-gradient(90deg,#6d28d9,#a855f7)!important;color:#fff!important;border-color:#fff!important;font-weight:900;animation:wphotoHaloSm 1.4s ease-in-out infinite}
.wnav-item:has(.wnav-photo){background:linear-gradient(90deg,#6d28d9,#a855f7)!important;color:#fff!important;border-color:#fff!important;font-weight:900;animation:wphotoHaloSm 1.4s ease-in-out infinite}
.wnav-item:has(.wnav-photo) .wno{background:#fff!important;color:#6d28d9!important}
.wnav-item .wnav-photo{font-size:16px;animation:wphotoIcon 1.2s ease-in-out infinite!important}
.container-worker-pick .wopt[data-photo="1"]{position:relative;--wc:#7c3aed!important;border-color:#a78bfa!important;background-image:linear-gradient(180deg,#5b21b6,#a78bfa,#5b21b6,#a78bfa),linear-gradient(135deg,#f3ecff,#e9d5ff)!important;background-size:9px 200%,100% 100%!important;background-repeat:no-repeat,no-repeat!important;background-position:0 0,0 0!important;animation:wphotoSheen 2.6s linear infinite,wphotoHalo 1.6s ease-in-out infinite!important;z-index:1}
.container-worker-pick .wopt[data-photo="1"] .wphoto{font-size:13px!important;font-weight:900!important;border:2px solid #fff!important;animation:wphotoPulse 1.8s ease-out infinite,wphotoStripe 1.6s linear infinite,wphotoText 1.6s ease-in-out infinite!important}
.container-worker-pick .wopt[data-photo="1"]::after{content:'📷';position:absolute;top:6px;right:8px;font-size:24px;z-index:2;animation:wphotoIcon 1.2s ease-in-out infinite}
.wlegend>i:first-of-type{border-color:#fff!important;font-size:12.5px;animation:wphotoHaloSm 1.4s ease-in-out infinite,wphotoText 1.6s ease-in-out infinite!important}
@media (prefers-reduced-motion:reduce){.wblock[data-wtype=photo],.wblock[data-wtype=photo] *,.wblock[data-wtype=photo]::before,.wblock[data-wtype=photo] .whead::after,.wblock[data-wtype=photo] .whead .wname::before,.wnav-item:has(.wnav-photo),.wnav-item .wnav-photo,.container-worker-pick .wopt[data-photo="1"],.container-worker-pick .wopt[data-photo="1"]::after,.container-worker-pick .wopt[data-photo="1"] .wphoto,.wlegend>i:first-of-type{animation:none!important}
  .wblock[data-wtype=photo],.container-worker-pick .wopt[data-photo="1"]{box-shadow:0 0 0 3px #c4b5fd,0 0 0 8px #7c3aed33,0 0 34px 6px #8b5cf6aa!important}}
/* §ORG(대표님 2026-09-17): 로그인 계정 이메일 @tion.kr → 「티온 계열」 태그(접힌 요약·펼친 상세·계정 줄 공통) */
.wc-email-org{display:inline-block;margin-left:5px;padding:1px 8px;border-radius:999px;font:800 10.5px/1.6 var(--sans,sans-serif);color:#fff;background:#0f766e;vertical-align:middle;white-space:nowrap;letter-spacing:.2px;box-shadow:0 1px 3px #0f766e44}
.wc-email-org.tion{background:linear-gradient(90deg,#0f766e,#14b8a6);border:1px solid #ffffff88}
.wc-summary-provider .wc-email-org{margin-left:0;margin-top:2px;font-size:9.5px}
/* §PHOTOCNT(대표님 2026-09-17): 사진 전용 컨테이너 사진 생성 카운트 + 대시보드 상단 사진 통계 */
.wc-container-photo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;margin:0 6px;padding:4px 10px;border-radius:10px;background:#f3e8ff;color:#5b21b6;border:1.5px solid #c4b5fd;font-size:12px;font-weight:800;white-space:nowrap;line-height:1.2}
.wc-container-photo b{font-size:15px;margin:0 2px;color:#4c1d95}
.wc-container-photo small{font-size:10px;font-weight:600;color:#7c3aed}
.wc-container-photo.has{background:linear-gradient(90deg,#5b21b6,#8b5cf6);color:#fff;border-color:#fff;box-shadow:0 0 0 2px #c4b5fd,0 0 12px #a855f788}
.wc-container-photo.has b,.wc-container-photo.has small{color:#fff}
.codash-totals .codash-photo{background:#ffffff22;border:1px solid #c4b5fd88;border-radius:10px;padding:4px 10px}
.codash-totals .codash-photo b{color:#e9d5ff}
