/* A안 — 차분한 교무실 도구 (표 중심 · 옆 막대 · 촘촘하지만 숨 쉬는 줄) */

/* ================= 앱 틀 */
.shell{display:grid;grid-template-columns:var(--side-w) 1fr;min-height:100dvh}
.side{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:var(--navy-900);color:var(--ink-on-navy-2);padding:16px 12px}
.side .brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px;color:#fff;text-decoration:none}
.side .brand .mk{width:34px;height:34px;border-radius:8px;background:var(--mint-200);display:grid;place-items:center}
.side .brand .mk img{width:24px;height:auto}
.side .brand b{display:block;font-size:var(--fs-15);font-weight:800;line-height:1.2;color:#fff}
.side .brand small{display:block;font-size:12px;font-weight:600;color:var(--ink-on-navy-2)}
.side nav{display:flex;flex-direction:column;gap:2px}
.side nav a{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;border-radius:var(--r-ctl);color:var(--ink-on-navy-2);text-decoration:none;font-size:var(--fs-14);font-weight:600;
  transition:background-color var(--t-fast),color var(--t-fast)}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side nav a[aria-current="page"]{background:var(--mint-200);color:var(--navy-900)}
.side nav a .cnt{margin-left:auto;font-size:12px;font-weight:800;padding:1px 8px;border-radius:99px;background:rgba(210,249,232,.16);color:var(--mint-200)}
.side nav a[aria-current="page"] .cnt{background:var(--navy-800);color:#fff}
.side .grp{margin:18px 10px 6px;font-size:12px;font-weight:600;color:var(--navy-300)}
.side .me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid rgba(255,255,255,.1)}
.side .me .av{width:32px;height:32px;border-radius:50%;background:var(--navy-700);color:#fff;display:grid;place-items:center;font-weight:800;font-size:var(--fs-14)}
.side .me b{display:block;color:#fff;font-size:var(--fs-14)}
.side .me small{font-size:12px;color:var(--ink-on-navy-2)}

.main{min-width:0;display:flex;flex-direction:column;height:100dvh}
.top{height:var(--top-h);flex:none;display:flex;align-items:center;gap:14px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line)}
.top h1{font-size:var(--fs-20);font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.top .crumb{display:flex;align-items:center;gap:6px;font-size:var(--fs-14);color:var(--ink-3);white-space:nowrap}
.top .crumb a{color:var(--ink-2);text-decoration:none}
.top .crumb a:hover{text-decoration:underline}
.top .crumb .cur{color:var(--ink);font-weight:800}
.top .meta{font-size:var(--fs-14);color:var(--ink-3);white-space:nowrap}
.top .right{margin-left:auto;display:flex;align-items:center;gap:8px}
.search{position:relative;width:280px}
.search .ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-3)}
.search .input{padding-left:34px;padding-right:44px;background:var(--canvas)}
.search .kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
.body{flex:1;min-height:0;display:flex}
.mobile-top,.tabbar{display:none}

/* ================= 지문 은행 (화면 3) */
.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--line)}
.filters .field{gap:4px}
.filters .field>label{font-size:var(--fs-12);color:var(--ink-2)}
.filters .select{width:auto;min-width:120px}
.filters .f-round .select{min-width:200px}
.filters .actions{margin-left:auto;display:flex;gap:8px}
.applied{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 24px;font-size:var(--fs-14);color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--surface)}
.applied .chip{gap:4px}
.applied .chip button{border:0;background:none;padding:0;display:grid;place-items:center;cursor:pointer;color:inherit}
.applied .clear{margin-left:4px;font-size:var(--fs-14);font-weight:600;color:var(--navy-700);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.applied .total{margin-left:auto;font-weight:600;color:var(--ink)}

.tablewrap{flex:1;min-width:0;overflow:auto;background:var(--surface)}
table.grid{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-14)}
.grid thead th{position:sticky;top:0;z-index:2;background:var(--canvas);text-align:left;font-size:var(--fs-12);font-weight:600;color:var(--ink-2);height:36px;padding:0 12px;
  border-bottom:1px solid var(--line-2);white-space:nowrap}
.grid thead th button{border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:4px;font:inherit;color:inherit;cursor:pointer}
.grid td{height:var(--row-h);padding:0 12px;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--ink-2)}
.grid tbody tr{cursor:pointer;transition:background-color var(--t-fast)}
.grid tbody tr:hover td{background:var(--navy-50)}
.grid tbody tr[aria-selected="true"] td{background:var(--mint-100)}
.grid tbody tr[aria-selected="true"] td.id{color:var(--navy-900);font-weight:800}
.grid td.id{font-weight:600;color:var(--ink)}
.grid td .code{color:var(--ink-3);margin-right:6px}
.grid td .tname{color:var(--ink);font-weight:600}
.grid tr.group td{height:34px;background:var(--canvas);color:var(--ink);font-weight:800;font-size:var(--fs-14);cursor:default;border-bottom:1px solid var(--line-2)}
.grid tr.group td span{font-weight:600;color:var(--ink-3);margin-left:8px}
.grid tr.group:hover td{background:var(--canvas)}
.grid .cb{width:16px;height:16px;accent-color:var(--navy-800)}

.preview{width:360px;flex:none;border-left:1px solid var(--line);background:var(--surface);overflow:auto;display:flex;flex-direction:column}
.preview .ph{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.preview .ph h2{font-size:var(--fs-16);font-weight:800;margin-right:auto}
.preview .pb{padding:16px 20px;display:flex;flex-direction:column;gap:16px}
.preview .stem{font-size:var(--fs-15);font-weight:600;color:var(--ink)}
.preview .pf{margin-top:auto;padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:8px}
.choices{display:flex;flex-direction:column;gap:2px}
.choices li{display:flex;gap:10px;align-items:flex-start;padding:7px 8px;border-radius:var(--r-ctl);font-size:var(--fs-15);line-height:1.45}
.choices li .circ{width:22px;height:22px;margin-top:0}
.choices li.ans{background:var(--mint-100)}
.choices li.ans .circ{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.choices li .why{display:block;font-size:var(--fs-14);color:var(--ink-2);margin-top:2px}
.choices li .tr{margin-left:auto;flex:none}
.kv{display:grid;grid-template-columns:96px 1fr;gap:6px 12px;font-size:var(--fs-14)}
.kv dt{color:var(--ink-3)}
.kv dd{color:var(--ink);font-weight:600;min-width:0}
.kv dd small{font-weight:400;color:var(--ink-3)}

/* ================= 문항 상세 (화면 4) */
.detail{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) 360px;overflow:hidden}
.col{overflow:auto;min-width:0}
.col+.col{border-left:1px solid var(--line)}
.col-pass{background:var(--surface);padding:22px 24px}
.col-item{background:var(--surface);padding:22px 24px}
.col-insp{background:var(--canvas);padding:18px 18px 28px;display:flex;flex-direction:column;gap:14px}
.sec-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.sec-h h2,.sec-h h3{font-size:var(--fs-16);font-weight:800;color:var(--ink)}
.sec-h .aside{margin-left:auto;font-size:var(--fs-12);color:var(--ink-3);font-weight:600}
.pass-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.col-pass .passage{font-size:var(--fs-16);line-height:1.75}
.stem-l{font-size:var(--fs-16);font-weight:800;color:var(--ink);margin-bottom:12px;line-height:1.5}
.expl{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.expl p{font-size:var(--fs-15);line-height:var(--lh-read);color:var(--ink)}
.expl .basis{display:flex;flex-direction:column;gap:8px}
.expl .basis li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:var(--fs-14);color:var(--ink-2)}
.expl .basis li .en{color:var(--ink);font-weight:600}
.expl ol.steps{counter-reset:s;display:flex;flex-direction:column;gap:6px}
.expl ol.steps li{counter-increment:s;display:flex;gap:10px;font-size:var(--fs-14);color:var(--ink-2);line-height:1.55}
.expl ol.steps li::before{content:counter(s);flex:none;width:20px;height:20px;border-radius:50%;background:var(--navy-100);color:var(--navy-800);font-size:12px;font-weight:800;display:grid;place-items:center;margin-top:1px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:14px 14px 12px}
.box .sec-h{margin-bottom:10px}
.tags{display:grid;grid-template-columns:84px 1fr;font-size:var(--fs-14)}
.tags dt,.tags dd{padding:7px 0;border-top:1px solid var(--line)}
.tags dt:first-of-type,.tags dd:first-of-type{border-top:0}
.tags dt{color:var(--ink-3);font-size:var(--fs-12);font-weight:600;padding-top:9px}
.tags dd{color:var(--ink);font-weight:600;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;min-width:0}
.tags dd small{font-weight:400;color:var(--ink-3);font-size:var(--fs-12)}
.tags dd .c{font-size:var(--fs-12);color:var(--ink-2);background:var(--canvas);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-weight:600}
table.lvt{width:100%;border-collapse:collapse;font-size:var(--fs-14)}
.lvt th{font-size:var(--fs-12);font-weight:600;color:var(--ink-3);text-align:left;padding:0 0 6px}
.lvt td{padding:8px 0;border-top:1px solid var(--line);vertical-align:middle}
.lvt td.who{color:var(--ink-2);font-size:var(--fs-12)}
.flag{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:8px 10px;border-radius:var(--r-ctl);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-14);font-weight:600;line-height:1.45}
.flag .ic{margin-top:1px}
.dc{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dc .cell{border:1px solid var(--ok-line);background:var(--ok-bg);border-radius:var(--r-ctl);padding:8px 10px}
.dc .cell small{display:block;font-size:var(--fs-12);color:var(--ok);font-weight:600}
.dc .cell b{display:flex;align-items:center;gap:6px;font-size:var(--fs-18);color:var(--ok)}
.dc-ok{margin-top:8px;display:flex;align-items:center;gap:6px;font-size:var(--fs-14);font-weight:600;color:var(--ok)}
.pager{display:flex;gap:6px}

/* ================= 검수 콘솔 (화면 5) */
.console{flex:1;min-width:0;display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
.queue{grid-row:1 / span 2;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;min-height:0}
.queue .qh{padding:14px 16px 10px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line)}
.queue .qh .row{display:flex;align-items:center;gap:8px}
.queue .qh b{font-size:var(--fs-15);font-weight:800}
.queue .qh .meta{margin-left:auto;font-size:var(--fs-12);color:var(--ink-3);font-weight:600}
.queue ul{overflow:auto;flex:1}
.queue li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 16px;border-bottom:1px solid var(--line);cursor:pointer;font-size:var(--fs-14)}
.queue li:hover{background:var(--navy-50)}
.queue li[aria-current="true"]{background:var(--mint-200)}
.queue li .qid{font-weight:800;color:var(--ink)}
.queue li .qt{color:var(--ink-2);grid-column:1}
.queue li .qs{grid-row:1 / span 2;grid-column:2;align-self:center}
.queue li.done{color:var(--ink-3)}
.queue li.done .qid{color:var(--ink-2);font-weight:600}
.rev{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;overflow:hidden;background:var(--surface)}
.rev .col{padding:20px 24px}
.decide{grid-column:2;border-top:1px solid var(--line-2);background:var(--surface);padding:12px 24px 14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 -6px 16px rgba(22,41,77,.05)}
.decide .reasons{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.decide .reasons .lab{font-size:var(--fs-12);font-weight:600;color:var(--ink-2);margin-right:4px}
.decide .acts{display:flex;align-items:center;gap:8px}
.decide .acts .memo{flex:1;min-width:120px}
.blind{border:1px dashed var(--navy-300);background:var(--navy-50);border-radius:var(--r-panel);padding:12px 14px;margin-bottom:14px}
.blind .row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.blind .row .lab{font-size:var(--fs-14);font-weight:800;color:var(--ink);margin-right:6px}
.pick{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--surface);font-weight:800;font-size:var(--fs-14);color:var(--ink-2);cursor:pointer;display:grid;place-items:center}
.pick:hover{border-color:var(--navy-700)}
.pick[aria-pressed="true"]{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.blind .res{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:var(--fs-14);font-weight:600;color:var(--ok)}
.keys{display:flex;align-items:center;gap:10px;font-size:var(--fs-12);color:var(--ink-3);white-space:nowrap}
.keys span{display:inline-flex;align-items:center;gap:4px}

/* ================= 승인 대기 · 로그인 (화면 1 · 2) */
.solo{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:var(--canvas)}
.card-solo{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--sh-2);padding:36px 36px 28px}
.card-solo .logo{height:56px;width:auto;margin-bottom:22px}
.card-solo h1{font-size:var(--fs-24);font-weight:800;letter-spacing:-.015em;margin-bottom:8px}
.card-solo .lead{font-size:var(--fs-15);color:var(--ink-2);line-height:1.6}
.steps3{margin:22px 0;display:flex;flex-direction:column;gap:0}
.steps3 li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:0 0 16px;position:relative}
.steps3 li::after{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--line)}
.steps3 li:last-child::after{display:none}
.steps3 li:last-child{padding-bottom:0}
.steps3 .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line-2);background:var(--surface);color:var(--ink-3);font-size:12px;font-weight:800}
.steps3 .done .dot{background:var(--ok);border-color:var(--ok);color:#fff}
.steps3 .now .dot{border-color:var(--navy-800);color:var(--navy-800);background:var(--mint-200)}
.steps3 b{display:block;font-size:var(--fs-15);font-weight:800;color:var(--ink);line-height:28px}
.steps3 small{display:block;font-size:var(--fs-14);color:var(--ink-2)}
.acct{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-ctl);background:var(--canvas);margin-bottom:20px}
.acct .k{width:36px;height:36px;border-radius:50%;background:var(--kakao-bg);display:grid;place-items:center}
.acct .k svg{width:18px;height:18px}
.acct b{display:block;font-size:var(--fs-15)}
.acct small{font-size:var(--fs-14);color:var(--ink-2)}
.solo-acts{display:flex;gap:8px;flex-wrap:wrap}

.login{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.login .l{background:var(--navy-900);color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:center;gap:32px;position:relative;overflow:hidden}
.login .l .site{font-size:var(--fs-14);font-weight:600;color:var(--ink-on-navy-2)}
.login .l h2{font-size:var(--fs-30);font-weight:800;line-height:1.3;letter-spacing:-.02em;max-width:18em}
.login .l h2 em{font-style:normal;color:var(--mint-200)}
.login .l .peek{background:var(--surface);color:var(--ink);border-radius:var(--r-panel);box-shadow:0 24px 60px rgba(0,0,0,.35);padding:18px 20px;max-width:560px}
.login .l .peek .pr{display:flex;align-items:center;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.login .l .peek .passage{font-size:var(--fs-15);line-height:1.7}
.login .l .peek .ft{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.login .r{background:var(--surface);display:flex;flex-direction:column;justify-content:center;padding:48px 64px}
.login .r .inner{max-width:400px;width:100%}
.login .r .logo{height:72px;width:auto;margin-bottom:28px}
.login .r h1{font-size:var(--fs-30);font-weight:800;letter-spacing:-.02em;line-height:1.25;margin-bottom:10px}
.login .r .lead{font-size:var(--fs-15);color:var(--ink-2);line-height:1.65;margin-bottom:28px}
.login .r .fine{margin-top:16px;font-size:var(--fs-14);color:var(--ink-3);line-height:1.6}
.login .r .copy{margin-top:48px;font-size:12px;color:var(--ink-3)}

/* ================= 생성 요청 (화면 6) */
.formpage{flex:1;overflow:auto;padding:24px}
.formgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;max-width:1120px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:22px 24px}
.panel h2{font-size:var(--fs-16);font-weight:800;margin-bottom:4px}
.panel .sub{font-size:var(--fs-14);color:var(--ink-2);margin-bottom:20px}
.fstack{display:flex;flex-direction:column;gap:22px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.typepick{display:flex;flex-wrap:wrap;gap:6px}
.lvpick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.lvpick button{height:60px;border:1.5px solid var(--line-2);border-radius:var(--r-ctl);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-weight:800;font-size:var(--fs-15);color:var(--ink);transition:border-color var(--t-fast),background-color var(--t-fast)}
.lvpick button small{font-size:var(--fs-12);font-weight:600;color:var(--ink-3)}
.lvpick button:hover{border-color:var(--navy-600)}
.lvpick button[aria-pressed="true"]{border-color:var(--navy-800);background:var(--navy-800);color:#fff}
.lvpick button[aria-pressed="true"] small{color:var(--mint-200)}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--r-ctl);height:var(--ctl-h);overflow:hidden}
.stepper button{width:36px;height:100%;border:0;background:var(--canvas);cursor:pointer;font-size:var(--fs-18);font-weight:600;color:var(--ink-2)}
.stepper output{width:48px;text-align:center;font-weight:800}
.radio-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:var(--fs-14)}
.radio-row label{display:inline-flex;align-items:center;gap:6px;font-weight:600;cursor:pointer}
.radio-row input{accent-color:var(--navy-800);width:16px;height:16px}
.summary .kv{grid-template-columns:72px 1fr}
.summary .est{margin-top:16px;padding:12px;border-radius:var(--r-ctl);background:var(--mint-100);color:var(--mint-ink);font-size:var(--fs-14);font-weight:600;line-height:1.5}
.f-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}

/* ================= 휴대폰 (<768) */
@media (max-width:767px){
  .shell{display:block}
  .side{display:none}
  .main{height:auto;min-height:100dvh;padding-bottom:72px}
  .top{display:none}
  .mobile-top{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:5;height:56px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line)}
  .mobile-top .mk{width:30px;height:30px;border-radius:7px;background:var(--mint-200);display:grid;place-items:center}
  .mobile-top .mk img{width:21px}
  .mobile-top h1{font-size:var(--fs-17);font-weight:800}
  .mobile-top .right{margin-left:auto;display:flex;gap:4px}
  .icon-btn{width:40px;height:40px;border:0;background:none;border-radius:var(--r-ctl);display:grid;place-items:center;color:var(--ink-2);cursor:pointer}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:6;height:64px;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:600;color:var(--ink-3);text-decoration:none}
  .tabbar a[aria-current="page"]{color:var(--navy-800)}
  .tabbar a[aria-current="page"] .ic{color:var(--navy-800)}
  .body{display:block}
  .filters{padding:12px 16px;gap:8px;overflow-x:auto;flex-wrap:nowrap}
  .filters .field>label{display:none}
  .filters .select{min-width:0}
  .filters .f-round .select{min-width:170px}
  .filters .actions{display:none}
  .applied{padding:8px 16px}
  .preview{display:none}
  .tablewrap{overflow:visible}
  table.grid thead{display:none}
  table.grid,table.grid tbody{display:block}
  .grid tr{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 16px;border-bottom:1px solid var(--line)}
  .grid td{display:block;height:auto;padding:0;border:0;white-space:normal}
  .grid td.c-cb,.grid td.c-fmt,.grid td.c-pass{display:none}
  .grid td.id{grid-column:1}
  .grid td.c-type{grid-column:1}
  .grid td.c-d3{display:none}
  .grid td.c-lv{grid-column:2;grid-row:1;justify-self:end}
  .grid td.c-dual{grid-column:1}
  .grid td.c-st{grid-column:2;grid-row:2 / span 2;justify-self:end;align-self:center}
  .grid tr.group{display:block;padding:8px 16px;background:var(--canvas)}
  .grid tr.group td{background:none;height:auto;border:0}
  .grid tbody tr[aria-selected="true"]{background:var(--mint-100)}
  .grid tbody tr[aria-selected="true"] td{background:none;box-shadow:none}

  .detail{display:flex;flex-direction:column;overflow:visible}
  .col{overflow:visible}
  .col+.col{border-left:0;border-top:1px solid var(--line)}
  .col-pass,.col-item{padding:18px 16px}
  .col-insp{padding:16px}
  .col-pass .passage{font-size:var(--fs-16)}

  .console{display:flex;flex-direction:column;overflow:visible}
  .queue{display:none}
  .rev{display:flex;flex-direction:column;overflow:visible}
  .rev .col{padding:16px}
  .rev .col:first-child{order:2;border-top:1px solid var(--line)}
  .rev .col:last-child{border-left:0!important}
  .decide{position:sticky;bottom:64px;padding:10px 12px;z-index:4}
  .decide .reasons{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .decide .acts .memo{display:none}
  .decide .acts .btn{flex:1;padding:0 8px}
  .decide .acts .kbd,.keys{display:none}
  .q-mobile{display:flex!important}

  .login{grid-template-columns:1fr}
  .login .l{padding:28px 20px 24px;gap:16px}
  .login .l h2{font-size:var(--fs-20)}
  .login .l .peek{display:none}
  .login .r{padding:32px 20px 40px;justify-content:flex-start}
  .login .r .logo{height:56px;margin-bottom:20px}
  .login .r h1{font-size:var(--fs-24)}
  .login .r .copy{margin-top:32px}
  .card-solo{padding:28px 20px 22px}

  .formpage{padding:16px}
  .formgrid{grid-template-columns:1fr}
  .panel{padding:18px 16px}
  .frow{grid-template-columns:1fr}
  .lvpick{grid-template-columns:repeat(2,1fr)}
}
.q-mobile{display:none}

.login .l .site{position:absolute;top:40px;left:56px}
.login .l .pstem{font-size:var(--fs-15);font-weight:800;margin-bottom:8px}
.login .l .pch{margin-top:12px;display:flex;flex-direction:column;gap:2px}
.login .l .pch li{display:flex;gap:10px;align-items:center;padding:5px 8px;border-radius:var(--r-ctl);font-size:var(--fs-14)}
.login .l .pch li .circ{width:22px;height:22px}
.login .l .pch li.ans{background:var(--mint-100)}
.login .l .pch li.ans .circ{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
@media (max-width:1599px){.grid .c-pass,.grid .c-fmt{display:none}}
@media (max-width:767px){.login .l .site{position:static}}
