:root{--ground:#f6f7f9;--surface:#ffffff;--ink:#111827;--muted:#4b5563;--line:#e5e7eb;--line-soft:#eef0f3;--primary:#4f46e5;--primary-soft:#eef2ff;--warn:#7a4f00;--warn-soft:#faebcb;--bad:#a3360a;--bad-soft:#fadccf;--track:#f3f4f6}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-size:14px;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}a{color:var(--primary)}a:hover{color:var(--ink)}h1{font-size:24px}h1,h2{margin:0;font-weight:700}h2{font-size:16px}button,input{font-family:inherit}button:disabled{cursor:not-allowed;opacity:.55}.muted{color:var(--muted)}.normal{font-weight:400}.small{font-size:12px}.strong{font-weight:700}.center{text-align:center}.right{text-align:right}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.plain{color:var(--ink);text-decoration:none}.pad{padding:16px 20px}.pad-x{padding-left:24px;padding-right:24px}.pad-left{padding-left:24px!important}.pad-right{padding-right:24px!important}.good-text{color:var(--primary)}.warn-text{color:var(--warn)}.bad-text{color:var(--bad)}.sr-only{position:absolute;left:-9999px}.strong-link{font-size:13px;font-weight:700}.line-top{border-top:1px solid var(--line-soft);padding-top:8px}.stack{gap:10px}.stack,.stack-tight{display:flex;flex-direction:column}.stack-tight{gap:3px}.row-between{justify-content:space-between;align-items:baseline}.row-between,.row-gap{display:flex;gap:8px}.row-gap-sm{display:flex;gap:6px}.wrap{flex-wrap:wrap}.scroll-x{overflow-x:auto}.grow{flex:1 1 auto}.shell{min-height:100vh;display:flex;flex-wrap:wrap}.sidebar{flex:1 1 220px;max-width:240px;min-width:200px;padding:24px 16px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.brand{padding:0 10px 20px}.brand img{display:block;border-radius:10px}.menu{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 10px;border-radius:8px;text-decoration:none;font-size:14px;color:var(--ink)}.menu.active{font-weight:700;color:var(--primary);background:var(--primary-soft)}.menu-count{font-size:12px;color:var(--muted);font-weight:400}.sidebar-foot{margin-top:auto;padding:0 10px}.link-button{border:0;background:none;padding:0;color:var(--muted);font-size:13px;cursor:pointer}.page{flex:999 1 640px;min-width:0;max-width:1200px;padding:28px 32px 40px;display:flex;flex-direction:column;gap:20px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.title-lg{font-size:22px;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.card.empty{color:var(--muted);text-align:center;padding:40px 20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px}.grid-3,.grid-4{display:grid;gap:12px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px}.span-2{grid-column:span 2}@media (max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}}.task-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:14px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line)}.task-card b{font-size:15px}.task-card.bad{background:#fff7ed;border-color:var(--bad-soft)}.big{font-size:28px;font-weight:700}.kpi{display:flex;flex-direction:column;gap:6px;padding:16px 18px}.kpi-value{font-size:28px;font-weight:700;letter-spacing:-.5px}.pill{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap;color:var(--primary);background:var(--primary-soft)}.pill.gray{color:var(--muted);background:var(--line-soft)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;color:var(--muted);font-size:12px;font-weight:500;padding:8px 8px 8px 0}.table td{padding:12px 8px 12px 0;border-top:1px solid var(--line-soft)}.table td.right,.table th.right{text-align:right}.table.dense{min-width:1000px;font-size:13px;background:var(--surface)}.table.dense th{padding:10px 8px}.table.dense td{padding:9px 8px}.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:14px;color:var(--ink);cursor:pointer;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{border:0;background:var(--primary);color:#fff;font-weight:700}.table-page{flex:999 1 640px;min-width:0;display:flex;flex-direction:column}.table-page .page-head{padding-top:24px;padding-bottom:14px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 24px;border-bottom:1px solid var(--line-soft)}.input{flex:1 1 260px;max-width:360px;border:1px solid var(--line);font-size:14px}.filter,.input{height:36px;border-radius:8px;padding:0 12px;background:var(--surface)}.filter{border:1px solid var(--line);color:var(--ink);font-size:13px;display:inline-flex;align-items:center;text-decoration:none}.filter.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.toolbar-count{margin-left:auto;font-size:13px;color:var(--muted)}.toolbar-count b{color:var(--ink)}.bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 24px;background:var(--ink)}.bulkbar,.bulkbar button{color:#fff;font-size:13px}.bulkbar button{height:30px;padding:0 10px;border-radius:6px;border:1px solid var(--muted);background:transparent}.pager{gap:16px;font-size:13px}.login,.pager{display:flex;justify-content:center;align-items:center;padding:16px}.login{min-height:100vh}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:10px}.login-card .brand{padding:0 0 8px}.login-card label{font-size:13px;color:var(--muted)}.login-card input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font-size:14px}.login-error{margin:0;color:var(--bad);font-size:13px}.stack-lg{gap:18px}.stack-lg,.stack-none{display:flex;flex-direction:column}.nowrap{white-space:nowrap}.center-v{align-self:center}.title-md{font-size:18px;font-weight:700}.pad-x-sm{padding:0 6px}code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;background:var(--line-soft);padding:1px 5px;border-radius:4px}.notice{margin:0;font-size:13px;color:var(--primary);background:var(--primary-soft);border-radius:8px;padding:8px 10px}.notice.warn{color:var(--warn);background:var(--warn-soft)}.plain-list{margin:4px 0 0;padding-left:18px}.bad-card{border-color:var(--bad-soft)}.pill.warn{color:var(--warn);background:var(--warn-soft)}.pill.bad{color:var(--bad);background:var(--bad-soft)}.pill.tiny{font-size:11px;padding:2px 6px}.table.wide{min-width:720px}.table .pad-state{padding-left:24px}.row-on td{background:#f5f5ff}.plain-fieldset{border:0;margin:0;padding:8px 0 0;min-width:0}.plain-fieldset legend{padding:0 0 6px}.chip{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.chip input{margin:0;accent-color:var(--primary)}.chip:has(input:checked){border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:700}.textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font:inherit;font-size:14px;background:var(--surface);resize:vertical}.brand-page,.menu-toggle{display:none}.menu-list{display:contents}@media (max-width:760px){body{font-size:15px}.shell{flex-direction:column;flex-wrap:nowrap}.shell>*,.split-list>*{flex:none;width:100%;max-width:none;min-width:0}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:20;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:0;padding:8px 12px 8px 16px;border-right:0;border-bottom:1px solid var(--line)}.brand,.sidebar{align-items:center}.brand{display:flex;gap:12px;padding:0}.brand img{width:28px;height:auto}.brand-name{display:none}.brand-page{display:inline}.brand-page,.menu-toggle{font-size:15px;font-weight:700}.menu-toggle{display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.sidebar.open .menu-toggle{background:var(--ink);border-color:var(--ink);color:#fff}.menu-list{display:none}.sidebar.open .menu-list{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 0 6px}.menu{min-height:48px;font-size:16px}.sidebar-foot{padding:12px 10px 4px}.link-button{font-size:15px;min-height:36px}.page{padding:20px 16px 32px;gap:16px}.pad-x{padding-left:16px;padding-right:16px}.pad-left{padding-left:16px!important}.pad-right{padding-right:16px!important}.card{padding:16px}.title-lg{font-size:20px}.hero-value{font-size:44px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:14px}.kpi-value{font-size:22px}.toolbar{padding:12px 16px}.toolbar-count{margin-left:0;width:100%}.bulkbar{padding:10px 16px}.btn{height:48px;font-size:16px}.field-input,.input,.login-card input{height:48px;font-size:16px;max-width:none}.textarea{font-size:16px}.tab{padding:0 14px}.chip,.filter,.seg,.tab{height:40px;font-size:14px}.level-row{grid-template-columns:64px minmax(0,1fr)}.level-seg label{height:44px;font-size:14px}.meter{grid-template-columns:64px minmax(0,1fr) 36px}.page-head>.row-gap{width:100%}.page-head>.row-gap>.btn{flex:1 1}.link-row{flex-direction:column;align-items:stretch;gap:10px;padding-top:12px}.search-row .input{flex:1 1 auto;min-width:0}.legend,.note,.row-between{flex-wrap:wrap}.legend span{white-space:nowrap}.note .row-gap-sm{flex-wrap:wrap}.split-list{display:contents}.split-list>*{order:3}.split-list>.split-head{order:1}.split-list~.aside,.split-list~.page{order:2}.split-list~.aside:not(.picked){display:none}.aside{border-left:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px}.queue-head{padding:20px 16px 12px}.queue-item{padding:14px 16px;min-height:56px}.tree.split-list>*{padding-left:16px;padding-right:16px}.tree.split-list>.split-head{padding-top:16px}.tree.split-list>.stack-none{padding-bottom:24px;border-top:1px solid var(--line);padding-top:8px}.tree-row{min-height:44px}.table.cards{min-width:0;display:block}.table.cards thead{display:none}.table.cards tbody{display:block}.table.cards tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:14px 16px;border-top:1px solid var(--line-soft)}.table.cards td{display:block;border:0;padding:0!important;text-align:left;font-size:14px}.table.cards td[data-label]:before{content:attr(data-label) " ";color:var(--muted);font-size:12px}.table.cards .card-title{order:-1;flex:1 1 100%;font-size:15px}.card .table.cards tr{padding:12px 8px}.table.cards td.row-gap-sm{display:flex;align-items:center}.table.cards .row-on{background:#f5f5ff;box-shadow:inset 3px 0 0 var(--primary)}.table.cards .row-link:hover{background:var(--track)}.table.cards .row-link:hover td,.table.cards .row-on td{background:none}.scroll-x:has(>.table.cards){overflow-x:visible}}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;display:inline-flex;align-items:center;text-decoration:none}.tab.on{border-color:var(--ink);background:var(--ink);color:#fff}.flush{margin:0}.baseline{align-items:baseline}.row-link{position:relative}.row-link:hover td{background:var(--track)}.row-link-target:after{content:"";position:absolute;inset:0}.detail-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.page.narrow{max-width:760px}.field-input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font-size:14px;background:var(--surface)}.brand{display:flex;align-items:center;gap:10px}.brand-name{font-size:16px;font-weight:700;color:var(--ink)}.btn.danger{border-color:var(--bad-soft);color:var(--bad);background:#fff;font-weight:700}.btn.sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.quote-box{margin:0;padding:12px 14px;border-left:3px solid var(--primary);background:var(--ground);border-radius:0 8px 8px 0;display:flex;flex-direction:column;gap:6px}.content-cell,.quote-box{white-space:pre-wrap;word-break:break-word}.content-cell{max-width:520px}.table th[scope=row]{width:120px;color:var(--muted);font-weight:500;font-size:13px;padding:12px 8px 12px 0;border-top:1px solid var(--line-soft)}.facts{margin:0;display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:6px 12px;gap:6px 12px;font-size:13px}.facts dt{color:var(--muted)}.facts dd{margin:0;white-space:pre-wrap;word-break:break-word}.edit-fields{padding-top:10px;max-width:640px}details summary{cursor:pointer;color:var(--primary)}@media (max-width:640px){.facts{grid-template-columns:1fr;gap:2px}.facts dd{margin-bottom:8px}}.quote-preview{position:relative;aspect-ratio:3/2;max-width:480px;border-radius:14px;overflow:hidden;background-size:cover;background-position:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;color:#fff}.quote-preview:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5)}.quote-preview>*{position:relative;margin:0}.quote-preview p{font-size:16px;font-weight:700;line-height:1.5;word-break:keep-all}.quote-preview span{font-size:13px;opacity:.9}