/* 직원관리 창 — 관리 화면 계보 · v1.2 */
@media (min-width:1600px){
  html.ui-pc .dash, html.ui-pc .toprow{ max-width:1600px }
}
.tbtn.tbtn-back{
  background:var(--pt); color:#08121a; font-weight:800;
  min-height:44px; height:44px; border-color:var(--pt);
  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; white-space:nowrap; padding:0 14px;
}
#logout, .tbtn-logout{
  color:var(--stop);
  border-color:rgba(255,107,94,.45);
}
html.ui-phone .toprow{ flex-wrap:wrap; align-items:center; }
html.ui-phone .tbtn-back{
  display:inline-flex !important;
  order:-1; flex:1 1 100%;
  min-height:44px; height:44px;
}
html.ui-phone .top-actions{ display:flex; flex-wrap:wrap; }
html.ui-pc .tbtn-back{ flex:0 0 auto; order:0; }

.staff-sum{
  display:flex; flex-wrap:wrap; gap:8px 14px;
  margin:0 0 14px; padding:10px 12px;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  font-size:13px; color:var(--txt2);
}
.staff-sum b{ color:var(--txt); font-size:16px; }
.staff-tabs{
  display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px;
}
.staff-tabs .tabx{
  min-height:44px; padding:0 14px; border-radius:10px;
  border:1px solid var(--line2); background:transparent; color:var(--txt2);
  font:800 13px inherit; cursor:pointer;
}
.staff-tabs .tabx.on{ background:rgba(57,211,182,.14); color:var(--pt); border-color:rgba(57,211,182,.45); }
.staff-panel.hide{ display:none !important; }

html.ui-pc .emp-split{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:12px;
  align-items:stretch;
}
html.ui-phone .emp-split{ display:block; }
html.ui-phone .emp-detail-col{ display:none; }
html.ui-phone.emp-show-detail .emp-list-col{ display:none; }
html.ui-phone.emp-show-detail .emp-detail-col{ display:block; }
html.ui-pc .emp-back{ display:none !important; }

#emp-q{
  width:100%; height:44px; margin:0 0 10px; padding:0 12px;
  border-radius:8px; border:1.5px solid var(--line2);
  background:var(--ink2); color:var(--txt); font:16px inherit;
}
.emp-list-row{
  display:grid; gap:2px 8px;
  width:100%; text-align:left;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:12px 14px; margin:0 0 8px;
  font:13px inherit; color:var(--txt2); cursor:pointer;
  min-height:44px;
}
.emp-list-row b{ color:var(--txt); font-size:15px; }
.emp-list-row.on{ border-color:var(--pt); background:rgba(57,211,182,.1); }
.emp-id{ font-size:12.5px; color:var(--txt3); }
.emp-nproj{ font-weight:800; color:var(--txt); }

.emp-detail-name{ margin:0 0 4px; font-size:18px; }
.emp-detail-id{ margin:0 0 12px; font-size:13px; color:var(--txt2); }
.proj-grid{
  display:grid; gap:12px; align-items:stretch;
  grid-template-columns:1fr;
}
html.ui-pc .proj-grid{ grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.proj-card{
  display:grid; gap:4px;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:12px 14px; font-size:13px; color:var(--txt2);
  overflow-wrap:anywhere;
}
.proj-card b{ display:block; color:var(--txt); font-size:15px; margin:0 0 2px; }
.proj-card span{ display:block; }
.proj-card.err{ border-color:var(--stop); background:rgba(255,107,94,.1); }
.err-line, .grant-err{ margin:6px 0 0; color:var(--stop); font-weight:800; }
.grant-err.hide{ display:none !important; }
.grant-h{ margin:16px 0 8px; font-size:13px; font-weight:800; color:var(--txt3); letter-spacing:.06em; }
.grant-grid{
  display:grid; gap:12px; align-items:stretch;
  grid-template-columns:1fr;
  margin:12px 0 0;
}
html.ui-pc .grant-grid{ grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }
.grant-slot{
  display:grid; gap:8px; align-content:start;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:12px 14px; font-size:13px; color:var(--txt2);
  overflow-wrap:anywhere;
}
.grant-slot b{ color:var(--txt); font-size:15px; }
.grant-slot.on{ border-color:var(--pt); background:rgba(57,211,182,.1); }
.grant-slot.off{ border-color:var(--line2); }
.grant-ok{ color:var(--pt); font-weight:800; }
.grant-btn, .grant-rev{
  border-radius:8px; font:800 13px inherit; cursor:pointer;
  min-height:44px; padding:0 12px;
}
.grant-btn{
  background:transparent; color:var(--txt); border:1px solid var(--line2);
}
.grant-rev{
  min-height:32px; height:32px; padding:0 10px; font-size:12px;
  background:transparent; color:var(--stop); border:1px solid rgba(255,107,94,.45);
}
.grant-btn:disabled, .grant-rev:disabled{ opacity:.45; cursor:default; }

.emp-room{ margin:0 0 16px; }
.emp-room h3{ margin:0 0 8px; font-size:14px; }
.emp-room.err{ border:1px solid var(--stop); border-radius:12px; padding:10px; background:rgba(255,107,94,.1); }
.emp-room.err h3{ color:var(--stop); }
.emp-row, .iss-row, .key-row{
  display:grid; gap:4px 12px;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:12px 14px; margin-bottom:8px; font-size:13px; color:var(--txt2);
  overflow-wrap:anywhere;
}
.emp-row b, .iss-row b{ color:var(--txt); font-size:15px; }
.emp-row.err{ border-color:var(--stop); background:rgba(255,107,94,.1); color:var(--stop); }
.tag-lock{ color:var(--stop); font-weight:800; }
.tag-pw{ color:var(--warn); font-weight:800; }
.dday{ font-size:22px; font-weight:800; color:var(--pt); }
.dday.stop{ color:var(--stop); }
.key-plain{ display:none !important; }
.key-lead{
  margin:0 0 14px; padding:12px 14px;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  font-size:13.5px; line-height:1.55; color:var(--txt);
  overflow-wrap:anywhere;
}
.key-h{ margin:14px 0 8px; font-size:13px; font-weight:800; color:var(--txt3); letter-spacing:.06em; }

html.ui-pc #iss-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:12px; align-items:stretch;
}
html.ui-pc #iss-list .iss-row{ margin-bottom:0; height:100%; }
html.ui-phone #iss-list{
  display:grid; grid-template-columns:1fr; gap:12px; align-items:stretch;
}
html.ui-phone #iss-list .iss-row{ margin-bottom:0; }

html.ui-phone .staff-tabs{ display:grid; grid-template-columns:1fr 1fr; }
html.ui-phone .staff-tabs .tabx{ width:100%; }
.top-actions a.tbtn{ display:inline-flex; align-items:center; text-decoration:none; }
.signup-code-lead{
  margin:0 0 14px; padding:12px 14px;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  font-size:13.5px; line-height:1.55; color:var(--txt);
  overflow-wrap:anywhere;
}
.global-code-box{
  margin:0 0 16px; padding:16px 14px; border-radius:12px;
  border:1px solid var(--pt); background:var(--card); text-align:center;
}
.global-code-label{ margin:0; font-size:13px; font-weight:800; color:var(--txt3); }
.global-code-box .code-big{
  font-size:28px; font-weight:900; letter-spacing:.12em; color:var(--txt);
  margin:10px 0; word-break:break-all;
}
.global-code-meta{ margin:0 0 10px; font-size:12.5px; color:var(--txt2); }
.global-code-actions{
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
}
.global-code-actions .opt, .global-code-actions .signup-copy{
  min-height:44px; height:44px; padding:0 14px;
}
.signup-code-row{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:12px 14px; margin-bottom:8px; font-size:13px; color:var(--txt2);
}
.signup-code-row b{ font-size:16px; color:var(--txt); letter-spacing:.06em; }
.signup-revoke{
  margin-left:auto; height:36px; padding:0 12px; border-radius:8px;
  border:1px solid rgba(255,107,94,.45); background:transparent; color:var(--stop);
  font:800 13px inherit; cursor:pointer;
}
.signup-copy{
  height:36px; padding:0 12px; border-radius:8px; border:1px solid var(--line2);
  background:transparent; color:var(--pt); font:800 13px inherit; cursor:pointer;
}
.opt{
  border-radius:8px; font:800 13px inherit; cursor:pointer;
  min-height:44px; padding:0 14px;
  background:transparent; color:var(--txt); border:1px solid var(--line2);
}
.opt-ok{ border-color:rgba(57,211,182,.55); color:var(--pt); }
.ask-err{ margin:8px 0 0; color:var(--stop); font-weight:800; }
.ask-err.hide{ display:none !important; }

html.ui-phone .top-actions a.tbtn{
  display:flex; align-items:center; justify-content:center; text-decoration:none;
}

.emp-name-line{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  min-width:0; justify-self:start;
}
.badge-related{
  display:inline-flex !important;
  align-items:center; justify-content:center;
  margin-left:0; padding:2px 8px;
  border-radius:999px;
  background:#c62828; color:#fff;
  font-size:11px; font-weight:800; line-height:1.2;
  white-space:nowrap; flex:0 0 auto;
  width:max-content; max-width:100%;
  justify-self:start; vertical-align:middle;
}
.related-box{
  margin:0 0 14px; padding:12px 14px;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
}
.related-lead{ margin:0 0 10px; font-size:13.5px; line-height:1.55; color:var(--txt); }
.related-filter{
  display:flex; align-items:center; gap:8px;
  margin:0 0 10px; font-size:13px; color:var(--txt2); cursor:pointer;
}
.related-purge{
  min-height:44px; padding:0 14px;
  background:var(--stop); color:#fff; border-color:rgba(255,107,94,.65);
  font-weight:800;
}
.related-purge:disabled{
  opacity:.45; cursor:default;
  background:#555; color:#bbb; border-color:var(--line2);
}
.related-why{
  margin:8px 0 0; font-size:13px; font-weight:800; color:var(--warn);
  overflow-wrap:anywhere;
}
.related-why:empty{ display:none; }

html.ui-phone .grant-grid, html.ui-phone .emp-split, html.ui-phone .dash{ overflow-x:hidden; max-width:100%; }
