/* AI Governance's screens (next wave A4): 정책 (gov-policy.js with its decisions part, approvals.js). Only what
   these screens add: the lists, the tables and the decision beside them are the shared parts (style.css .ds-card,
   .ds-split, .ds-side, .ui-tabs, .ds-first-line, .ds-sub-line; screens-controls.css .iss-layout, .apr-*). Colours
   are the palette's tokens only. */
.gov-screen [data-gov-tabs]{margin:0 0 var(--ds-space-4)}
td:is(.gov-acts,.apr-acts)>button+button{margin-left:var(--ds-space-1)}
td:is(.gov-acts,.apr-acts)>[data-gov-todo]:not(:empty),td.apr-acts>[data-approval-todo]:not(:empty){margin-left:var(--ds-space-1)}
.gov-next{margin:var(--ds-space-3) 0 0}
/* 정한 정책 narrowed to one decision: a row of chips over the list, not figure cards of one weight. */
.apr-filter{display:flex;flex-wrap:wrap;gap:var(--ds-space-2);margin:0 0 var(--ds-space-3)}
/* A re-read over what is drawn (portalUi.busy on the decisions' host): the list dims until the answer is drawn. */
[data-gov-decisions][aria-busy="true"] .ds-card{opacity:.55;transition:opacity .15s}
[data-gov-decisions][aria-busy="true"]{cursor:progress}
@media (prefers-reduced-motion:reduce){[data-gov-decisions][aria-busy="true"] .ds-card{transition:none}}
/* A phone: a row's actions wrap under its facts instead of pushing the table past the screen. */
@media (max-width:720px){
  td:is(.gov-acts,.apr-acts){text-align:left;white-space:normal}
  td:is(.gov-acts,.apr-acts)>button{margin:0 var(--ds-space-1) var(--ds-space-1) 0}
  td:is(.gov-acts,.apr-acts)>button+button{margin-left:0}
}
/* The lists' tables. 정책 없는 새 도구 has five columns and three actions a row here (it had four and one,
   screens-controls.css), the lists of use six. At the screen's full width each column has its own width and the
   tool's name takes what is left. Where the table has about half of it -- a decision open beside the list, or a
   screen under 1181px -- 처음 발견 and 근거 step aside, a time takes two lines and the actions wrap under one another,
   so the name keeps its room and nothing stands past the card (a look at 1280 and 1440: the name's column was
   pressed to nothing). On a phone a row is a block: the name, its facts a line each, its actions last. */
.gov-screen.apr-screen table.apr-waiting th:first-child{width:auto}
.gov-screen.apr-screen table.apr-waiting th:nth-child(2){width:120px}
.gov-screen.apr-screen table.apr-waiting th:is(:nth-child(3),:nth-child(4)){width:204px}
.gov-screen.apr-screen table.apr-waiting :is(th,td):nth-child(3){padding-left:var(--ds-space-3)}
.gov-screen.apr-screen table.apr-waiting th.apr-acts{width:256px}
@media (min-width:1181px){
  .gov-screen.apr-screen[data-detail-open] .apr-card table.apr-waiting{min-width:0}
  .gov-screen.apr-screen[data-detail-open] table.apr-waiting :is(th,td):nth-child(3),
  .gov-screen[data-detail-open] table.gov-use :is(.gov-first,.gov-basis){display:none}
  .gov-screen.apr-screen[data-detail-open] table.apr-waiting th:nth-child(2){width:112px}
  .gov-screen.apr-screen[data-detail-open] .apr-card td.apr-tool>b{white-space:normal;overflow-wrap:anywhere}
  .gov-screen.apr-screen[data-detail-open] table.apr-waiting th:nth-child(4),
  .gov-screen[data-detail-open] table.gov-use th.gov-when{width:108px}
  .gov-screen.apr-screen[data-detail-open] table.apr-waiting td.apr-when{white-space:normal}
  .gov-screen.apr-screen[data-detail-open] table.apr-waiting th.apr-acts,
  .gov-screen[data-detail-open] table.gov-use th.gov-acts{width:152px}
  .gov-screen.apr-screen[data-detail-open] table.apr-waiting td.apr-acts,
  .gov-screen[data-detail-open] table.gov-use td.gov-acts{white-space:normal}
  .gov-screen[data-detail-open] td:is(.gov-acts,.apr-acts)>button{margin:2px 0 2px var(--ds-space-1)}
}
@media (min-width:641px) and (max-width:1180px){
  .gov-screen.apr-screen .apr-card table.apr-waiting{min-width:0}
  .gov-screen.apr-screen table.apr-waiting :is(th,td):nth-child(3),
  .gov-screen table.gov-use :is(.gov-first,.gov-basis){display:none}
  .gov-screen.apr-screen table.apr-waiting th:nth-child(2){width:112px}
  .gov-screen.apr-screen .apr-card td.apr-tool>b{white-space:normal;overflow-wrap:anywhere}
  .gov-screen.apr-screen table.apr-waiting th:nth-child(4),
  .gov-screen table.gov-use th.gov-when{width:108px}
  .gov-screen.apr-screen table.apr-waiting td.apr-when{white-space:normal}
  .gov-screen.apr-screen table.apr-waiting th.apr-acts,
  .gov-screen table.gov-use th.gov-acts{width:152px}
  .gov-screen.apr-screen table.apr-waiting td.apr-acts,
  .gov-screen table.gov-use td.gov-acts{white-space:normal}
  .gov-screen td:is(.gov-acts,.apr-acts)>button{margin:2px 0 2px var(--ds-space-1)}
}
@media (max-width:640px){
  .gov-screen.apr-screen table.apr-waiting td.apr-acts{grid-column:1/-1;grid-row:auto}
  
  
  
  
}
/* 정책 없는 새 도구 and 정한 정책 (approvals.js): the chips and the search box on one line over the list, a head as the
   sort's press (drawn as the head it was), an empty list's next step under its frame. A tool's name wraps inside its
   cell instead of standing past it (screens-controls.css keeps it on one line): the waiting table's columns are fixed,
   and the decided name's column keeps 18em (12em beside an open decision) before a name wraps. */
.apr-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-2) var(--ds-space-3);margin:0 0 var(--ds-space-3)}
.apr-tools>.apr-filter{margin:0}
.apr-find{flex:0 1 280px;min-width:180px;margin:0 0 0 auto}
.apr-find input{width:100%}
.apr-rows{display:grid;gap:var(--ds-space-4);min-width:0}
.apr-card th .apr-sort{display:inline-flex;gap:4px;align-items:center;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer;white-space:nowrap}
.apr-card th .apr-sort:hover,.apr-card th .apr-sort:focus-visible{background:color-mix(in srgb,var(--ds-accent) 8%,transparent);filter:none;text-decoration:underline;text-underline-offset:3px}
.apr-card th .apr-sort:active{transform:none}
.apr-card th.ctl-num .apr-sort{justify-content:flex-end}
.apr-empty-next{margin:var(--ds-space-2) 0 0}
.gov-screen.apr-screen .apr-card table.apr-waiting td.apr-tool>b{white-space:normal;overflow-wrap:anywhere}
.gov-screen.apr-screen .apr-card table.apr-decided td.apr-tool{min-width:12em}
.gov-screen.apr-screen:not([data-detail-open]) .apr-card table.apr-decided td.apr-tool{min-width:18em}
.apr-tool>.apr-name{display:block;max-width:100%;min-height:0;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.apr-tool>.apr-name>b{font-weight:600;color:var(--ds-text)}
.apr-tool>.apr-name:hover,.apr-tool>.apr-name:focus-visible{background:color-mix(in srgb,var(--ds-accent) 8%,transparent)}
/* A phone: 정한 정책's row is a block, each cell under its head's name (data-label), inside the list's width; both
   lists keep their sortable heads above the rows as a line of presses (a head that sorts nothing is not drawn there). */
@media (max-width:640px){
  .apr-find{flex:1 1 100%;margin:0}
  .gov-screen.apr-screen .apr-card table.apr-decided{min-width:0}
  table.apr-decided,table.apr-decided>tbody{display:block;width:100%}
  table.apr-decided>tbody>tr{display:block;padding:var(--ds-space-2) var(--ds-space-3);border-bottom:1px solid var(--ds-line)}
  .gov-screen.apr-screen .apr-card table.apr-decided>tbody>tr>td{display:block;max-width:none;min-width:0;padding:2px 0;border:0;text-align:left;white-space:normal}
  table.apr-decided td[data-label]::before{content:attr(data-label) " ";color:var(--ds-text-2);font-size:var(--ds-fs-sm);font-family:var(--ds-font)}
  table.apr-decided td.apr-acts{padding-top:var(--ds-space-1)}
  .gov-screen.apr-screen .apr-card table.apr-decided>tbody>tr>td[data-none]{display:none}
  .gov-screen.apr-screen .apr-card table:is(.apr-waiting,.apr-decided)>thead{display:block}
  .gov-screen.apr-screen .apr-card table:is(.apr-waiting,.apr-decided)>thead>tr{display:flex;flex-wrap:wrap;gap:var(--ds-space-1) var(--ds-space-3);padding:var(--ds-space-2) var(--ds-space-3);border-bottom:1px solid var(--ds-line)}
  .gov-screen.apr-screen .apr-card table:is(.apr-waiting,.apr-decided)>thead th{display:block;width:auto;padding:0;border:0;text-align:left}
  .gov-screen.apr-screen .apr-card table:is(.apr-waiting,.apr-decided)>thead th:not([aria-sort]){display:none}
}
/* 정책 (gov-rules.js): the model's lines, the company's settings under them, and 규칙 편집 (gov-policy.js) last. */
.gov-rules{display:grid;gap:var(--ds-space-3);min-width:0}
.gov-rules [data-gov-said]:empty{display:none}
:is(.gov-except,.gov-origin){display:block;margin-top:var(--ds-space-1);color:var(--ds-text-2)}
.gov-assets{margin-left:var(--ds-space-1)}
.gov-denied-list{display:grid;gap:var(--ds-space-2);padding-left:var(--ds-space-4)}
.gov-applied{display:grid;gap:var(--ds-space-2);margin-top:var(--ds-space-3)}
.gov-applied-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--ds-space-2);margin:0}
.gov-applied-list dt{color:var(--ds-text-2)}
.gov-applied-list dd{margin:0;font-variant-numeric:tabular-nums}
.gov-requests{display:grid;gap:var(--ds-space-3);min-width:0}
.gov-requests [data-gov-requests-said]:empty{display:none}
.gov-requests-filters{margin:0}
.gov-requests-table td small{display:block;color:var(--ds-text-2)}
/* 정책's search, 금지 or 허용 and order over its lines (gov-rules.js finder); a line not found stays in its place,
   hidden. A line's tool opens it whole beside the list (.gov-detail). A long name, reason or hint wraps in its cell. */
.gov-rules-search{flex:1 1 220px;max-width:360px}
.gov-rules-search input{width:100%}
.gov-rules-sort{display:inline-flex;align-items:center;gap:var(--ds-space-1);color:var(--ds-text-2)}
.gov-rules-finder [data-gov-rules-count]:empty,.gov-rules [data-gov-rules-none]:empty,.gov-rules .table-wrap[hidden]{display:none}
:is(.gov-rules-table,.gov-requests-table) tr[hidden],.gov-screen[data-detail-open] :is(.gov-rules-table,.gov-requests-table) tr[hidden]{display:none}
.gov-detail-tools{margin:var(--ds-space-2) 0 0;overflow-wrap:anywhere}
/* A phone, or a panel open beside the list (the list then has about half the screen: sc94 b134 at 1440 with 정책 상세
   open drew the nine columns a letter wide and scrolled sideways): 정책's lines and 예외 요청's requests are each a
   block, a cell under the name its column had (data-label), inside the list's width instead of a table scrolled
   sideways; the cells, their words and their order as drawn. */
.gov-screen[data-detail-open] :is(.gov-rules,.gov-requests) .table-wrap{overflow:visible;-webkit-mask-image:none;mask-image:none}
.gov-screen[data-detail-open] .table-wrap table:is(.gov-rules-table,.gov-requests-table){min-width:0}
.gov-screen[data-detail-open] :is(.gov-rules-table,.gov-requests-table) thead{display:none}
.gov-screen[data-detail-open] :is(.gov-rules-table,.gov-requests-table),.gov-screen[data-detail-open] :is(.gov-rules-table,.gov-requests-table)>tbody{display:block;width:100%}
.gov-screen[data-detail-open] :is(.gov-rules-table,.gov-requests-table) tr{display:block;padding:var(--ds-space-2) var(--ds-space-3);border-bottom:1px solid var(--ds-line)}
.gov-screen[data-detail-open] :is(.gov-rules-table,.gov-requests-table) td{display:block;max-width:none;padding:2px 0;border:0;text-align:left;white-space:normal}
.gov-screen[data-detail-open] :is(.gov-rules-table,.gov-requests-table) td[data-label]:not(:first-child):not([data-gov-reach="allow"])::before{content:attr(data-label) " ";color:var(--ds-text-2);font-size:var(--ds-fs-sm)}
@media (max-width:640px){
  :is(.gov-rules,.gov-requests) .table-wrap{overflow:visible;-webkit-mask-image:none;mask-image:none}
  .table-wrap table:is(.gov-rules-table,.gov-requests-table){min-width:0}
  :is(.gov-rules-table,.gov-requests-table) thead{display:none}
  :is(.gov-rules-table,.gov-requests-table),:is(.gov-rules-table,.gov-requests-table)>tbody{display:block;width:100%}
  :is(.gov-rules-table,.gov-requests-table) tr{display:block;padding:var(--ds-space-2) var(--ds-space-3);border-bottom:1px solid var(--ds-line)}
  :is(.gov-rules-table,.gov-requests-table) td{display:block;max-width:none;padding:2px 0;border:0;text-align:left;white-space:normal}
  :is(.gov-rules-table,.gov-requests-table) td[data-label]:not(:first-child):not([data-gov-reach="allow"])::before{content:attr(data-label) " ";color:var(--ds-text-2);font-size:var(--ds-fs-sm)}
  
  .gov-rules-search{max-width:none}
}
/* 관리자 › 사용자와 권한 › 역할별 허용 동작: the operator roles the company made (members.js, A4 card 3). */
.mb-company-role{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr) auto auto;gap:var(--ds-space-2);align-items:center;padding:var(--ds-space-2) 0;border-bottom:1px solid var(--ds-line);overflow-wrap:anywhere}
.mb-company-role button+button{margin-left:var(--ds-space-1)}
@media (max-width:640px){.mb-company-role{grid-template-columns:1fr}}
/* PC-2 도구 상세 (UR28 u12): the list starts close under its views as v24 draws it, and the panel's tool name is
   v24's mono 18px/500. The find and order row keeps the shared 34px (lotse.css .find/.sel), as 정책 and 예외 요청 do. */
.ra6-screen>.lx-page.ra6-page>.ra6-views+.ra6-panels{margin-top:-6px}
.ra6-screen [data-gov-decisions].ra6-view{gap:8px}
.ra6-screen>.ra6-side .lx-aside-t.lx-mono{font-weight:500}
