:root{color-scheme:light;--line: #dde2e9;--line-strong: #7f8a99;--line-soft: #edf0f4;--bg: #f4f6f9;--surface: #ffffff;--panel: #ffffff;--panel-2: #f7f9fc;--panel-3: #f0f3f7;--ink: #1b2430;--ink-2: #3d4756;--ink-dim: #5f6a78;--on-fill: #ffffff;--accent: #1f5fa8;--accent-hover: #17497f;--accent-ink: #17497f;--accent-soft: #eef4fc;--accent-line: #5c8fc6;--ok: #16794a;--ok-fill: #16794a;--ok-soft: #eaf8f0;--ok-line: #4f9873;--warn: #8a5300;--warn-fill: #8a5300;--warn-soft: #fff7e8;--warn-line: #b8802e;--err: #b3261e;--err-fill: #b3261e;--err-soft: #fdf0ef;--err-line: #cc6a62;--top-bg: #22303f;--top-ink: #eaf0f6;--top-dim: #9fb0c1;--top-line: #788c9f;--top-hover: #2c3d4f;--top-accent: #a9c6e6;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-h2: 17px;--fs-xl: 21px;--w-sm: 240px;--w-md: 360px;--w-lg: 560px;--w-card: 640px;--r-sm: 3px;--r: 5px;--r-lg: 8px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .06);--shadow-2: 0 10px 30px rgba(16, 24, 40, .16);--focus: 0 0 0 3px rgba(31, 95, 168, .3);--state-mark: var(--accent);--nav-w: 208px;--top-h: 52px;--split-at: 1248px}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--line: #313d4b;--line-strong: #6d7c8d;--line-soft: #28323e;--bg: #131a22;--surface: #212b36;--panel: #1b232d;--panel-2: #202a35;--panel-3: #26313d;--ink: #e7edf4;--ink-2: #c3cddb;--ink-dim: #93a1b2;--accent: #2f6dae;--accent-hover: #3878b9;--accent-ink: #8cc0f5;--accent-soft: #1d2c3d;--accent-line: #4d7cad;--ok: #5fc48d;--ok-fill: #1c6b45;--ok-soft: #16281f;--ok-line: #3f7d5d;--warn: #e0a94e;--warn-fill: #7a4d0c;--warn-soft: #2a2317;--warn-line: #8a6a2f;--err: #ef8b82;--err-fill: #a33028;--err-soft: #2b1c1b;--err-line: #b0655d;--top-bg: #161d26;--top-line: #5d6c7d;--top-hover: #212b36;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 10px 30px rgba(0, 0, 0, .55);--focus: 0 0 0 3px rgba(140, 192, 245, .35);--state-mark: #6ba3e0}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs-md) / 1.55 "Malgun Gothic","맑은 고딕","Noto Sans KR",system-ui,sans-serif;-webkit-text-size-adjust:100%}h1,h2,h3,h4{letter-spacing:-.2px}:focus-visible{outline:2px solid var(--state-mark);outline-offset:1px;border-radius:var(--r-sm)}.skip-link{position:absolute;left:var(--s3);top:-60px;z-index:80;padding:8px var(--s4);background:var(--accent);color:var(--on-fill);border-radius:0 0 var(--r) var(--r);text-decoration:none;transition:top .12s ease-out}.skip-link:focus{top:0}.skip-link:focus-visible{outline-color:var(--top-accent)}button{font:inherit;padding:6px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-fill)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-fill)}button.danger{border-color:var(--err-line);color:var(--err)}button.danger:hover:not(:disabled){background:var(--err-fill);border-color:var(--err-fill);color:var(--on-fill)}button.danger.filled{background:var(--err-fill);border-color:var(--err-fill);color:var(--on-fill)}button.danger.filled:hover:not(:disabled){filter:brightness(1.1)}button.ghost{border-color:transparent;background:transparent;color:var(--ink-dim)}button.ghost:hover:not(:disabled){background:var(--panel-3);color:var(--accent-ink);border-color:transparent}button.link{border:none;background:none;padding:0;color:var(--accent-ink);text-decoration:underline}button.sm{padding:3px 10px;font-size:var(--fs-sm)}button.wide{width:100%}button.icon{padding:4px 8px;line-height:1;font-size:var(--fs-lg)}.btn-row{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}button[aria-disabled=true]{opacity:.5;cursor:not-allowed}button[aria-disabled=true]:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}button.primary[aria-disabled=true],button.primary[aria-disabled=true]:hover{background:var(--accent);border-color:var(--accent);color:var(--on-fill)}input,select,textarea{font:inherit;padding:6px 9px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);width:100%}textarea{resize:vertical;min-height:96px;line-height:1.6}input:focus:not([type=checkbox]):not([type=radio]),select:focus,textarea:focus{outline:none;border-color:var(--state-mark);box-shadow:var(--focus)}input:disabled,select:disabled,textarea:disabled{background:var(--panel-3);color:var(--ink-dim);cursor:not-allowed}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--err)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}.shell{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);grid-template-rows:var(--top-h) minmax(0,1fr);min-height:100vh}header.top{grid-column:1 / -1;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--s4);padding:0 var(--s5);background:var(--top-bg);color:var(--top-ink)}header.top .brand{font-weight:700;font-size:15px}header.top .brand small{display:block;font-weight:400;font-size:11px;color:var(--top-dim);letter-spacing:0}header.top .spacer{flex:1}header.top .who{color:var(--top-ink);font-size:var(--fs-sm)}header.top .who b{color:#fff}header.top .who .role{margin-left:var(--s2);padding:1px 7px;border:1px solid var(--top-line);border-radius:10px;font-size:11px;color:var(--top-accent)}header.top button.out{background:transparent;border-color:var(--top-line);color:var(--top-ink);padding:4px 12px}header.top button.out:focus-visible{outline:2px solid var(--top-accent);outline-offset:1px}header.top button.out:hover:not(:disabled){background:var(--top-hover);color:#fff;border-color:var(--top-accent)}aside.nav{background:var(--panel);border-right:1px solid var(--line);padding:var(--s4) var(--s3)}aside.nav .group-label{font-size:11px;font-weight:700;color:var(--ink-dim);letter-spacing:.4px;padding:0 var(--s2) var(--s2)}aside.nav ul{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;gap:2px}aside.nav button{width:100%;text-align:left;border:none;background:transparent;border-radius:var(--r);padding:8px var(--s3);color:var(--ink-2);display:flex;align-items:center;gap:var(--s2)}aside.nav button:hover:not(:disabled){background:var(--panel-3);color:var(--ink)}aside.nav button[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:700;box-shadow:inset 2px 0 0 var(--state-mark)}aside.nav .count{margin-left:auto;min-width:20px;text-align:center;padding:0 6px;border-radius:10px;background:var(--err-fill);color:var(--on-fill);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}main{min-width:0;padding:var(--s5)}main:focus{outline:none}.page-head{margin-bottom:var(--s4)}.page-head h1{margin:0;font-size:var(--fs-xl)}.page-head p{margin:var(--s1) 0 0;color:var(--ink-dim);font-size:var(--fs-sm)}@media (max-width: 900px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}header.top{padding:0 var(--s3);gap:var(--s2);flex-wrap:wrap;position:static}header.top .who{font-size:var(--fs-xs)}aside.nav{border-right:none;border-bottom:1px solid var(--line);padding:var(--s2) var(--s3);overflow-x:auto}aside.nav .group-label{display:none}aside.nav ul{grid-auto-flow:column;grid-auto-columns:max-content;margin-bottom:0}aside.nav button[aria-current=page]{box-shadow:inset 0 -2px 0 var(--state-mark)}main{padding:var(--s4) var(--s3)}}.split{display:grid;gap:var(--s4);align-items:start}@media (min-width: 1248px){.split{grid-template-columns:minmax(448px,.85fr) minmax(528px,1.15fr)}.split>.split-detail{position:sticky;top:calc(var(--top-h) + var(--s4));max-height:calc(100vh - var(--top-h) - var(--s5));overflow:auto}.split>.split-list .list-scroll{max-height:calc(100vh - var(--top-h) - 260px);min-height:220px;overflow:auto}}@media (min-width: 1600px){.split{grid-template-columns:minmax(500px,.7fr) minmax(700px,1.3fr)}}.split>*{min-width:0}.split .panel{margin-bottom:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);margin-bottom:var(--s4);overflow:hidden}.panel.flat{box-shadow:none}.panel>.head{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.panel>.head h2{margin:0;font-size:var(--fs-h2)}.panel>.head h3{margin:0;font-size:var(--fs-lg)}.panel>.head .sub{color:var(--ink-dim);font-size:var(--fs-sm)}.panel>.head .spacer{flex:1;min-width:var(--s2)}.panel>.body{padding:var(--s4)}.panel>.body>:first-child{margin-top:0}.panel .foot{padding:var(--s3) var(--s4);border-top:1px solid var(--line);background:var(--panel-2);display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.list-tools{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:var(--panel-2)}.list-tools input[type=search]{width:min(200px,100%);flex:1 1 140px}.list-tools select{width:auto;min-width:0}.list-tools .spacer{flex:1}.list-tools .found{color:var(--ink-dim);font-size:var(--fs-sm);white-space:nowrap}.table-scroll{overflow-x:auto;position:relative}.table-scroll:focus-visible{outline:2px solid var(--state-mark);outline-offset:-2px}.table-scroll.is-scrollable{background:linear-gradient(to right,var(--panel) 30%,transparent) left center,linear-gradient(to left,var(--panel) 30%,transparent) right center,radial-gradient(farthest-side at 0 50%,rgba(16,24,40,.16),transparent) left center,radial-gradient(farthest-side at 100% 50%,rgba(16,24,40,.16),transparent) right center;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}table{width:100%;border-collapse:collapse;min-width:620px}table.compact{min-width:430px}.list-scroll{overflow:visible}th,td{padding:10px var(--s3);text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:middle}th{background:var(--panel-3);font-weight:700;color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr.pick{cursor:pointer}tbody tr.pick:hover{background:var(--panel-2)}tbody tr.selected{background:var(--accent-soft)}tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--state-mark)}tbody tr.selected .title{font-weight:700;color:var(--accent-ink)}td.num,th.num{width:36px;color:var(--ink-dim);font-variant-numeric:tabular-nums}td.col-act,th.col-act{width:96px}td.col-act2,th.col-act2{width:148px}td.date,th.date{white-space:nowrap;font-variant-numeric:tabular-nums}.cell-name{display:flex;align-items:center;gap:var(--s3);min-width:0}.cell-name>div{min-width:0}.cell-name .title{font-weight:600}.sub-line{color:var(--ink-dim);font-size:var(--fs-xs)}.row-btn{border:none;background:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.row-btn:hover{color:var(--accent-ink)}.nowrap{white-space:nowrap}.keep{word-break:keep-all;overflow-wrap:break-word}@media (max-width: 560px){.table-scroll.cards{overflow-x:visible;background:none}.cards table{min-width:0;display:block}.cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.cards tbody{display:block}.cards tbody tr{display:block;border:1px solid var(--line);border-radius:var(--r);padding:var(--s3);margin:0 var(--s3) var(--s2);background:var(--panel)}.cards tbody tr.selected td:first-child{box-shadow:none}.cards tbody tr.selected{border-color:var(--state-mark);border-left-width:3px}.cards tbody td{display:grid;grid-template-columns:84px minmax(0,1fr);gap:2px var(--s2);align-items:baseline;justify-items:start;border:none;padding:3px 0;width:auto}.cards tbody td:before{content:attr(data-label);grid-column:1;grid-row:1;color:var(--ink-dim);font-size:var(--fs-xs);font-weight:700}.cards tbody td>*{grid-column:2}.cards tbody td .cell-name{justify-self:stretch}.cards tbody td.num{display:none}.cards tbody td.col-act,.cards tbody td.col-act2{display:block;margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--line-soft);width:auto}.cards tbody td.col-act:before,.cards tbody td.col-act2:before{content:none}.cards tbody td.col-act button,.cards tbody td.col-act2 button{flex:1}}.badge{display:inline-block;padding:2px 9px;border-radius:11px;font-size:var(--fs-xs);border:1px solid;white-space:nowrap;line-height:1.5}.badge.on{color:var(--ok);border-color:var(--ok-line);background:var(--ok-soft)}.badge.off{color:var(--ink-dim);border-color:var(--line-strong);background:var(--panel-3)}.badge.bad{color:var(--err);border-color:var(--err-line);background:var(--err-soft)}.badge.warn{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.badge.info{color:var(--accent-ink);border-color:var(--accent-line);background:var(--accent-soft)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border:1px solid var(--line-strong);border-radius:14px;background:var(--panel-2);font-size:var(--fs-sm);max-width:100%}.chip.plain{padding-right:10px}.chip .x{border:none;background:none;padding:0 3px;color:var(--ink-dim);font-size:15px;line-height:1;cursor:pointer}.chip .x:hover{color:var(--err);background:none}.chip-list{display:flex;flex-wrap:wrap;gap:var(--s2)}.thumb{width:40px;height:40px;border-radius:var(--r);border:1px solid var(--line);object-fit:cover;background:var(--panel-3);flex:none}.thumb.lg{width:88px;height:88px}.thumb-ph{display:flex;align-items:center;justify-content:center;color:var(--ink-dim);font-size:var(--fs-sm);font-weight:700}.msg{padding:10px var(--s3);border-radius:var(--r-sm);margin-bottom:var(--s3);font-size:var(--fs-sm);border:1px solid}.msg.err{background:var(--err-soft);border-color:var(--err-line);color:var(--err)}.msg.ok{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.msg.info{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.msg.warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.msg b{display:inline-block}.msg :last-child{margin-bottom:0}.msg.gap{margin-top:var(--s4)}.danger-zone{margin-top:var(--s6);border:1px solid var(--err-line);border-radius:var(--r);background:var(--err-soft);padding:var(--s4)}.danger-zone h3{margin:0 0 var(--s1);font-size:var(--fs-lg);color:var(--err)}.danger-zone p{margin:0 0 var(--s3);font-size:var(--fs-sm);color:var(--ink-2)}.field{margin-bottom:var(--s4);max-width:var(--w-lg)}.field.w-sm{max-width:var(--w-sm)}.field.w-md{max-width:var(--w-md)}.field.w-full{max-width:none}.field>label,.field>.label{display:block;margin-bottom:5px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.field .req{color:var(--err);margin-left:3px}.field .row{display:flex;gap:var(--s2);align-items:center}.form-narrow{max-width:480px}.form-note{font-size:var(--fs-xs);color:var(--ink-dim);margin-bottom:var(--s3)}.fieldset-plain{border:none;padding:0;margin:0 0 var(--s4);min-width:0}.fieldset-plain>legend{padding:0;margin-bottom:5px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 var(--s4);max-width:var(--w-card)}.hint{font-size:var(--fs-xs);color:var(--ink-dim);margin-top:var(--s1)}.hint.ok{color:var(--ok)}.hint.bad{color:var(--err)}.hint.pad{padding:6px var(--s3)}.counter{float:right;color:var(--ink-dim);font-weight:400;font-size:var(--fs-xs)}.check{display:flex;align-items:flex-start;gap:var(--s2);margin-bottom:var(--s3)}.check label{margin:0;font-weight:400;font-size:var(--fs-md)}.actions{display:flex;gap:var(--s2);margin-top:var(--s5);flex-wrap:wrap;align-items:center}.actions.tight{margin-top:var(--s3)}.actions.flush{margin-top:0}.stack-8{margin-top:var(--s2)}.stack-12{margin-top:var(--s3)}.stack-16{margin-top:var(--s4)}.stack-24{margin-top:var(--s5)}.radio-cards{display:grid;gap:var(--s2);max-width:var(--w-card)}.radio-card{display:flex;gap:var(--s3);align-items:flex-start;border:1px solid var(--line-strong);border-radius:var(--r);padding:var(--s3);cursor:pointer;background:var(--surface)}.radio-card:hover{border-color:var(--accent);background:var(--panel-2)}.radio-card.on{border-color:var(--state-mark);background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--state-mark)}.radio-card input{margin-top:3px}.radio-card .t{font-weight:600}.radio-card .d{display:block;font-size:var(--fs-sm);color:var(--ink-dim)}.tabs{display:flex;gap:var(--s1);border-bottom:1px solid var(--line);padding:0 var(--s4);background:var(--panel-2);overflow-x:auto}.tabs button{border:1px solid transparent;border-bottom:none;border-radius:var(--r-sm) var(--r-sm) 0 0;margin-bottom:-1px;background:transparent;color:var(--ink-dim);padding:9px 16px}.tabs button:hover:not([aria-selected=true]){color:var(--accent-ink);background:var(--panel)}.tabs button[aria-selected=true]{background:var(--panel);border-color:var(--line);color:var(--ink);font-weight:700}.tabs .dot{display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--warn-line);vertical-align:1px}.tabpanel{padding:var(--s5) var(--s4)}.tabpanel>:first-child{margin-top:0}.tabpanel:focus{outline:none}.section{margin-bottom:var(--s6)}.section:last-child{margin-bottom:0}.section>h3{margin:0 0 var(--s1);font-size:var(--fs-lg);color:var(--ink);display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.section>.desc{margin:0 0 var(--s3);color:var(--ink-dim);font-size:var(--fs-sm);max-width:76ch}.divider{height:1px;background:var(--line);margin:var(--s5) 0;border:none}details.fold{border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2);margin-bottom:var(--s4)}details.fold>summary{cursor:pointer;padding:var(--s3) var(--s4);font-size:var(--fs-sm);color:var(--ink-2);font-weight:600}details.fold>summary:focus-visible{outline:2px solid var(--state-mark);outline-offset:-2px}details.fold[open]>summary{border-bottom:1px solid var(--line)}details.fold>.fold-body{padding:var(--s3) 0 var(--s3)}details.fold>.fold-body>.desc{margin:0 var(--s4) var(--s3);color:var(--ink-dim);font-size:var(--fs-sm)}dl.kv{display:grid;grid-template-columns:128px minmax(0,1fr);gap:var(--s3) var(--s4);margin:0}dl.kv.tight{gap:var(--s2) var(--s4)}dl.kv dt{color:var(--ink-dim);font-size:var(--fs-sm)}dl.kv dd{margin:0;min-width:0}@media (max-width: 560px){dl.kv{grid-template-columns:minmax(0,1fr);gap:var(--s1) 0}dl.kv dd{margin-bottom:var(--s3)}}code,.mono{font-family:Consolas,D2Coding,ui-monospace,monospace;font-size:12.5px;background:var(--panel-3);padding:2px 6px;border-radius:var(--r-sm);overflow-wrap:anywhere;word-break:normal}pre.cmd{margin:0;padding:var(--s2) var(--s3);background:var(--panel-3);border:1px solid var(--line);border-radius:var(--r-sm);font-family:Consolas,D2Coding,ui-monospace,monospace;font-size:12.5px;overflow-x:auto;white-space:pre}.val-row{display:flex;gap:var(--s2);align-items:flex-start}.val-row>:first-child{flex:1;min-width:0}.empty{padding:var(--s6) var(--s4);text-align:center;color:var(--ink-dim);font-size:var(--fs-sm)}.empty .t{display:block;color:var(--ink);font-size:var(--fs-md);margin-bottom:var(--s1)}.empty .act{margin-top:var(--s3);display:flex;justify-content:center;gap:var(--s2)}.empty.tight{padding:var(--s5) var(--s4)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--accent-line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2s}.toast{animation:none}.skip-link{transition:none}.skeleton{animation:none}}.skeleton{height:12px;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--panel-3),var(--line-soft),var(--panel-3));background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{to{background-position:-200% 0}}.skeleton-table td{padding:13px var(--s3)}.toast-host{position:fixed;right:var(--s4);bottom:var(--s4);z-index:60;display:grid;gap:var(--s2);width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:var(--s2);padding:10px var(--s3);border-radius:var(--r);border:1px solid;box-shadow:var(--shadow-2);font-size:var(--fs-sm);background:var(--panel);animation:rise .16s ease-out}@keyframes rise{0%{transform:translateY(6px);opacity:0}}.toast.ok{border-color:var(--ok-line);background:var(--ok-soft);color:var(--ok)}.toast.err{border-color:var(--err-line);background:var(--err-soft);color:var(--err)}.toast.info{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-ink)}.toast .icon{flex:none;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1;color:var(--on-fill);margin-top:1px}.toast.ok .icon{background:var(--ok-fill)}.toast.err .icon{background:var(--err-fill)}.toast.info .icon{background:var(--accent)}.toast .text{flex:1;min-width:0;overflow-wrap:anywhere}.toast .x{border:none;background:none;color:inherit;opacity:.7;padding:0 2px;cursor:pointer}.toast .x:hover{opacity:1;background:none}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c121a8c;display:flex;align-items:center;justify-content:center;padding:var(--s4);z-index:50}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:560px;max-height:88vh;overflow:auto;box-shadow:var(--shadow-2)}.modal.narrow{max-width:440px}.modal>.head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}.modal>.head h3{margin:0;font-size:var(--fs-lg)}.modal>.head .spacer{flex:1}.modal>.body{padding:var(--s4)}.modal .field{max-width:none}.confirm-body{margin:0 0 var(--s3);word-break:keep-all}.auth-wrap{max-width:400px;margin:8vh auto;padding:0 var(--s4)}.auth-wrap .brand-line{text-align:center;margin-bottom:var(--s4);color:var(--ink-dim);font-size:var(--fs-sm)}.auth-wrap h1{font-size:var(--fs-xl);margin:0 0 var(--s1)}.auth-wrap .sub{color:var(--ink-dim);font-size:var(--fs-sm);margin:0 0 var(--s5)}.auth-wrap .switch{margin-top:var(--s4);font-size:var(--fs-sm);text-align:center;color:var(--ink-dim)}.auth-wrap .field{max-width:none}.picker{position:relative}.picker .results{position:absolute;z-index:20;left:0;right:0;margin-top:var(--s1);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--panel);box-shadow:var(--shadow-2);max-height:240px;overflow:auto}.picker .results ul{list-style:none;margin:0;padding:0}.picker .results li+li{border-top:1px solid var(--line-soft)}.picker .results .opt{width:100%;border:none;background:none;text-align:left;padding:var(--s2) var(--s3);border-radius:0;display:flex;gap:var(--s2);align-items:baseline;flex-wrap:wrap;color:var(--ink);cursor:pointer;font:inherit}.picker .results .opt[aria-disabled=true]{opacity:.55;cursor:not-allowed}.picker .results .opt.active,.picker .results .opt:hover:not([aria-disabled=true]){background:var(--accent-soft)}.picker .results .who{font-weight:600}.picker .results .mail{color:var(--ink-dim);font-size:var(--fs-xs)}.picker .results .already{margin-left:auto;color:var(--ink-dim);font-size:var(--fs-xs)}.catalog-preview{max-width:var(--w-card)}.catalog-card{display:flex;gap:var(--s4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-1);padding:var(--s4);max-width:420px}.catalog-card.dim{opacity:.55;filter:grayscale(.5)}.catalog-card .cc-body{min-width:0;flex:1}.catalog-card .cc-title{font-size:var(--fs-lg);font-weight:700;margin:0 0 2px}.catalog-card .cc-meta{color:var(--ink-dim);font-size:var(--fs-xs);margin-bottom:var(--s2)}.catalog-card .cc-desc{font-size:var(--fs-sm);color:var(--ink-2);margin:0 0 var(--s3);word-break:keep-all}.catalog-card .cc-desc.none{color:var(--ink-dim);font-style:italic}.catalog-card .chip{font-size:var(--fs-xs);padding:2px 8px}.showroom-controls{margin-bottom:var(--s4)}.showroom-search{max-width:var(--w-md);margin-bottom:var(--s3)}.showroom-search input[type=search]{width:100%}.showroom-search input::placeholder{color:var(--ink-dim);opacity:1}.showroom-tabs{border-radius:var(--r) var(--r) 0 0}.showroom-count{margin:0 0 var(--s3);color:var(--ink-dim);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.show-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:var(--s4)}.show-cell{min-width:0}.show-card{display:flex;flex-direction:column;gap:var(--s3);height:100%;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-1);padding:var(--s4);transition:border-color .12s ease,box-shadow .12s ease}.show-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-2)}.show-card:focus-within{border-color:var(--state-mark)}.show-card-top{display:flex;align-items:flex-start;gap:var(--s3)}.show-badges{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:var(--s1)}.show-name{margin:0;font-size:var(--fs-lg);line-height:1.35;word-break:keep-all;overflow-wrap:break-word}.show-desc{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5;word-break:keep-all}.show-desc.none{color:var(--ink-dim);font-style:italic}.show-feats{margin:0}.show-feats .chip{font-size:var(--fs-xs);padding:2px 9px}.show-run{margin-top:auto;padding-top:var(--s2);display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.show-run button{min-width:88px}.show-run .hint{margin:0}@media (max-width: 560px){.show-grid{grid-template-columns:1fr;gap:var(--s3)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.otp-steps{margin:0 0 var(--s4);padding-left:var(--s5);color:var(--ink-2);font-size:var(--fs-md)}.otp-steps li{margin-bottom:var(--s3)}.otp-qr{margin:var(--s2) 0}.otp-qr img{display:block;width:184px;height:184px;padding:var(--s2);background:#fff;border:1px solid var(--line);border-radius:6px}.otp-key{font-family:Consolas,D2Coding,ui-monospace,monospace;word-break:break-all}.otp-input{font-family:Consolas,D2Coding,ui-monospace,monospace;font-size:var(--fs-xl);letter-spacing:.3em;text-align:center}
