:root{--ink:#172033;--muted:#53657e;--line:#dce3ec;--bg:#f3f6fa;--nav:#122b50;--blue:#155eef;--selected:#eaf1ff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 "Malgun Gothic","Noto Sans KR",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}[hidden]{display:none!important}button,a.action{border:1px solid var(--line);background:white;color:var(--ink);padding:9px 13px;border-radius:7px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover,a.action:hover{background:var(--selected)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8bb4ff;outline-offset:2px}input,select,textarea{width:100%;min-width:0;max-width:100%;border:1px solid #b9c7d9;padding:9px 10px;border-radius:7px;background:white;color:var(--ink)}label{display:grid;gap:5px;color:var(--muted)}textarea{min-height:90px;resize:vertical}h1,h2,h3{font-weight:600;line-height:1.4}h1{font-size:21px;margin:0}h2{font-size:18px;margin:0 0 16px}h3{font-size:16px}small,.muted{color:var(--muted)}small{font-size:12px}.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}aside{background:var(--nav);color:#e4edfa;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;min-width:0;padding:20px 0 14px;overflow:hidden}.brand{font-size:20px;letter-spacing:1px;padding:5px 24px 25px;flex:none}.tenant-console-logo{margin:0 20px 12px!important;flex:none}.tenant-console-logo+.brand{display:none}.navigation{width:260px;flex:1;min-height:0;overflow-y:scroll;overflow-x:hidden;scrollbar-color:#6382aa var(--nav);scrollbar-width:thin}.navigation::-webkit-scrollbar{width:12px}.navigation::-webkit-scrollbar-track{background:var(--nav)}.navigation::-webkit-scrollbar-thumb{background:#6382aa;border:3px solid var(--nav);border-radius:8px}.navigation>*{width:248px;max-width:248px}.navigation button{width:220px;min-height:43px;margin:2px 14px;display:flex;justify-content:flex-start;text-align:left;color:#d8e5f7;background:transparent;border:0}.navigation button:hover,.navigation button[aria-current=page]{background:#254c7d;color:white}.navigation button span{margin-left:auto;color:#c1d4ee;font-size:11px}.nav-label{font-size:12px;color:#a8c0e1;padding:0 26px 7px}.risk-navigation{border-top:1px solid #355277;margin-top:24px;padding-top:15px}.subnav{margin:4px 0 8px 26px;border-left:1px solid #45698f}.subnav button{width:190px;margin:0 0 2px 8px;font-size:13px;padding-left:12px}.aside-footer{flex:none;padding:14px 24px 0}.aside-footer button{border:0;background:transparent;color:#d8e5f7;padding:5px;font-size:25px;width:40px}.top{min-height:76px;position:sticky;top:0;z-index:5;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:15px 28px}.account{margin-left:auto;display:grid;text-align:right}.account span{font-weight:600}.account small{font-size:11px}.top>button{flex:none}main{min-width:0}.content{padding:26px 28px 60px;max-width:1600px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar input{width:320px}.toolbar select{width:auto;max-width:100%}.toolbar .grow{flex:1}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:22px}.table-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:9px;background:white}table{border-collapse:collapse;width:100%;text-align:left}th{background:#f7f9fc;color:#50627b;font-size:12px;font-weight:600}th,td{padding:12px 15px;border-bottom:1px solid #e6ebf2;vertical-align:top}tbody tr:last-child td{border-bottom:0}.doc-name{border:0;padding:0;background:none;color:#174fbd;justify-content:flex-start;text-align:left;font-weight:600}.doc-id{font-family:Consolas,monospace;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.status{font-size:12px;white-space:nowrap;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.form-grid .wide{grid-column:1/-1}.approval-details{margin:20px 0;border-top:1px solid var(--line);padding-top:15px}summary{cursor:pointer;color:var(--muted)}.inline-check{display:flex;align-items:center;gap:8px}.inline-check input{width:auto}.sheet-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.sheet-tabs button[aria-pressed=true]{background:var(--selected);border-color:#94b6f6;color:#1649a2}.sheet-table{table-layout:fixed;width:max-content}.sheet-table td{min-width:120px;width:150px;max-width:300px;white-space:pre-wrap;overflow-wrap:anywhere;border-right:1px solid var(--line)}.sheet-table th{position:sticky;top:0;z-index:1;text-align:center;border-right:1px solid var(--line)}.sheet-table th.row-number{position:sticky;left:0;z-index:2;width:45px;min-width:45px}.sheet-scroll{max-height:65vh}.markdown{line-height:1.85;overflow-wrap:anywhere}.markdown h1{margin:10px 0 22px}.markdown h2{margin:28px 0 12px;padding-bottom:7px;border-bottom:1px solid var(--line)}.markdown h3{margin:22px 0 12px}.markdown table{font-size:13px}.markdown th,.markdown td{border:1px solid var(--line)}.markdown p{margin:10px 0}.markdown .table-scroll{margin:14px 0}.document-header{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.document-header h2{margin:7px 0}.empty{padding:35px 15px;text-align:center;color:var(--muted)}.error{color:#a32b25}.message{position:fixed;right:24px;bottom:24px;max-width:calc(100% - 48px);padding:12px 18px;background:#172d4b;color:white;border-radius:9px;z-index:40}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);padding:30px;background:white;border:1px solid var(--line);border-radius:12px}.login-card h1{text-align:center;margin-bottom:20px}.login-card form{display:grid;gap:17px}.login-card p:empty{display:none}#menuButton{display:none}.audit-detail{white-space:pre-wrap;max-width:600px;overflow-wrap:anywhere;font-size:12px}.audit-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.account-form{margin-top:20px}.selection{max-height:220px;overflow:auto;border:1px solid var(--line);padding:10px;border-radius:7px}.selection label{display:flex;align-items:center;gap:8px}.selection input{width:auto}
@media(max-width:960px){.app{grid-template-columns:1fr}aside{position:fixed;left:0;top:0;width:260px;z-index:20;transform:translateX(-100%);transition:transform .15s}.app.menu-open aside{transform:translateX(0)}#menuButton{display:inline-flex}.top{padding:12px 16px;gap:10px}.top h1{font-size:18px}.content{padding:20px 16px 45px}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.form-grid{grid-template-columns:1fr}.account span{font-size:12px}.account small{font-size:10px}.top>button{padding:7px}.top h1{font-size:16px}.toolbar input{width:100%}.panel{padding:16px}th,td{padding:10px 9px}.doc-table .revision-column{display:none}.audit-filters{grid-template-columns:1fr}}
@media print{body{background:white}.app{display:block}aside,.top,.toolbar,.sheet-tabs,.message,#loginView{display:none!important}.content{padding:0;max-width:none}.panel,.table-scroll{border:0;padding:0;overflow:visible}.markdown th{position:static}a{color:inherit}tr{break-inside:avoid}h1,h2,h3{break-after:avoid}}

.term-links{margin-top:12px}.term-links button{margin:8px 8px 0 0;font-size:12px}

/* Compact grouped catalogs and a comfortable document reading measure. */
.content{max-width:1160px;margin-inline:0}.content.document-reading{max-width:1160px}.content.workbook-reading{max-width:1160px}
.catalog-group{margin:0 0 18px}.catalog-group h2{font-size:14px;color:var(--muted);margin:0 0 8px}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.catalog-entry{display:flex;flex-direction:column;align-items:stretch;justify-content:center;text-align:left;min-width:0;gap:3px;padding:9px 12px}.catalog-title{font-size:13px;font-weight:600;color:#174fbd;overflow-wrap:anywhere}.catalog-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.catalog-meta .doc-id{font-size:11px}.document-reading .markdown{line-height:1.85}
@media(max-width:700px){.catalog-grid{grid-template-columns:1fr}.catalog-meta{flex-wrap:wrap}}
@media print{.content,.content.document-reading,.content.workbook-reading{max-width:none;margin:0}}
/* Keep the selected document identifiable while reading, without a second title. */
.top .document-page-title{min-width:0;flex:1;font-size:18px;overflow-wrap:anywhere}
.document-page-title .doc-id,.document-page-title small{display:block;font-size:12px;font-weight:400;line-height:1.5}
.document-page-name{display:block;line-height:1.5}
.top .account{flex-shrink:0}
.duplicate-document-title{display:none}
@media screen{.document-identity,.document-header.identity-only{display:none}}
@media(max-width:520px){.top:has(.document-page-title){flex-wrap:wrap}.top .document-page-title{order:3;flex-basis:100%;font-size:16px}}
/* Template identity accompanies the downloaded form and its print view. */
.template-qr{display:flex;align-items:center;gap:12px;margin-top:24px;break-inside:avoid;font-size:12px}
.template-qr img{width:22mm;height:22mm;object-fit:contain}
.approval-categories button[aria-pressed="true"],#approvalProducts button[aria-pressed="true"]{background:#163b68;color:white}
.approval-document-title{overflow-wrap:anywhere}
.approval-register>tbody>tr>td:first-child{width:44%}
.approval-register>thead>tr>th{white-space:nowrap}
.approval-register-action{white-space:nowrap;width:1%}
.approval-register-action button{padding:7px 9px}
.approval-register .toolbar{gap:9px;margin-bottom:8px}
.approval-history-toggle{margin-top:8px}
.approval-history-row>td{background:#f7f9fc;padding:12px}
.approval-retired{margin-top:18px}
.record-source-selector{max-width:400px;margin-bottom:16px}
.record-filters{display:grid;grid-template-columns:1.5fr 2fr 2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:20px}
.record-filters .wide{grid-column:1/-1}
.record-links{gap:12px;margin:10px 0 0}
@media(max-width:1000px){.record-filters{grid-template-columns:1fr 1fr}.record-filters .wide{grid-column:1/-1}}
.record-form .markdown th,.record-form .markdown td{padding:7px 9px}
.record-form .markdown table{table-layout:fixed}
.release-dialog{border:1px solid var(--line);border-radius:10px;width:min(600px,90vw);padding:24px;color:var(--ink)}
.release-dialog form{display:grid;gap:16px}.release-dialog::backdrop{background:#142b4666}
.pdf-page{display:block;width:100%;height:auto;margin:0 auto 16px;border:1px solid var(--line)}
.native-pdf{display:block;width:100%;height:78vh;min-height:600px;border:1px solid var(--line)}
.signed-preview-row>td{padding:12px}.signed-preview .native-pdf{width:100%;height:72vh;min-height:360px}.signed-preview .toolbar{flex-wrap:wrap}
@media print{.pdf-reading .document-header{display:none}.pdf-page{border:0;margin:0;max-height:270mm;object-fit:contain;break-after:page}.pdf-page:last-child{break-after:auto}}
.record-form .markdown td{height:42px}
.record-form .markdown tbody tr:last-child td{border-bottom:1px solid var(--line)}
.record-form .markdown p{margin:7px 0}
@media print{.record-form .markdown{font-size:12px;line-height:1.4}.record-form .markdown table{font-size:12px}.record-form .markdown th,.record-form .markdown td{padding:5px 8px}.record-form .document-header{margin-bottom:10px;padding-bottom:10px}.record-form .template-qr{margin-top:10px}}
.registration-cover{width:min(900px,calc(100vw - 32px));max-width:none;padding:16px;border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.registration-cover::backdrop{background:rgba(15,35,65,.4)}
.registration-cover .toolbar{justify-content:space-between;margin-bottom:12px}
.registration-cover iframe{display:block;width:100%;height:calc(85dvh - 90px);border:0;background:white}
#developmentNav{margin-top:22px;border-top:1px solid #ffffff30;border-radius:0;padding-top:18px}
.dev-toolbar{align-items:end;gap:12px}.dev-toolbar label{display:grid;gap:5px;min-width:140px;font-size:13px}.dev-toolbar select{max-width:280px}
.dev-sync{font-size:12px;color:#556b89;margin:12px 0}.dev-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.dev-history{padding:0;overflow:hidden}.dev-graph-scroll{max-height:70vh;overflow:auto}.dev-commit{display:flex;justify-content:flex-start;width:100%;height:64px;padding:0 8px;border:0;border-bottom:1px solid #e5eaf2;border-radius:0;text-align:left;align-items:center;background:white}
.dev-commit:hover{background:#f0f5fc}.dev-commit[aria-pressed=true]{background:#e7f0ff;box-shadow:inset 3px 0 #2563eb}.dev-commit svg{flex-shrink:0}.dev-commit-info{flex:1;min-width:0;display:grid;gap:4px;font-size:11px;color:#526682}
.dev-commit-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#183454}.dev-refs{display:flex;gap:6px;overflow:hidden;white-space:nowrap}.dev-refs>span{background:#e3eaf5;border-radius:4px;padding:0 4px}.dev-detail{min-width:0;padding:20px}.dev-detail h2{font-size:17px;overflow-wrap:anywhere}.dev-detail h3{font-size:14px;margin-top:24px}
.dev-commit-meta{display:grid;gap:8px;font-size:12px;overflow-wrap:anywhere}.dev-status-list{padding:0;list-style:none;display:grid;gap:8px}.dev-status-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}.dev-status-list li>span:first-child{flex:1;overflow-wrap:anywhere}.dev-status{padding:3px 7px;border-radius:4px;background:#edf1f6;white-space:nowrap}.dev-status.good{background:#e1f3e9;color:#246743}.dev-status.bad{background:#ffe8e8;color:#a82c2c}
.dev-hint{font-size:12px;color:#586c87;line-height:1.7}.dev-history>.dev-hint{padding:0 12px}.dev-warning{padding:10px;background:#fff5df;color:#785514;font-size:13px;border-radius:6px}.dev-records>div{display:grid;justify-items:start;gap:5px;padding:10px 0;border-bottom:1px solid #e5eaf2}.dev-records small{font-size:11px}.dev-dialog{max-width:900px}.dev-dialog-body form{display:grid;gap:14px}.dev-dialog label{display:grid;gap:6px}.dev-pdf-page{width:100%;height:auto;display:block;margin:12px 0;border:1px solid #d8e1ef}
@media(max-width:1100px){.dev-layout{grid-template-columns:minmax(0,1fr)}.dev-graph-scroll{max-height:50vh}}
.dev-more{display:block;margin:12px auto;font-size:13px}

/* Mobile readability: keep headings and table columns from collapsing. */
@media screen and (max-width: 700px) {
  .top {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px 8px;
  }
  .top #menuButton { grid-area: 1 / 1; min-height: 40px; }
  .top #pageTitle {
    grid-area: 1 / 2 / 2 / -1;
    order: 0;
    min-width: 0;
    margin: 0;
    word-break: keep-all;
    overflow-wrap: break-word;
    line-height: 1.5;
  }
  .top .account {
    grid-area: 2 / 1 / 3 / 3;
    min-width: 0;
    margin-left: 0;
    text-align: left;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  .top #passwordButton { grid-area: 2 / 3; }
  .top #logoutButton { grid-area: 2 / 4; }
  .top > button { white-space: nowrap; min-height: 40px; }
  .table-scroll { overscroll-behavior-x: contain; }
  .table-scroll > table:not(.sheet-table) {
    min-width: 640px;
    table-layout: auto;
  }
  .table-scroll > table:not(.sheet-table) th { white-space: nowrap; }
  .table-scroll > table:not(.sheet-table) td {
    min-width: 7rem;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  #auditResults table { min-width: 760px; }
  #auditResults th, #auditResults td, #auditResults .doc-id {
    white-space: nowrap;
    overflow-wrap: normal;
  }
  #auditResults .audit-detail {
    white-space: pre-wrap;
    min-width: 220px;
    max-width: 400px;
    overflow-wrap: anywhere;
  }
}

/* Keep the settings footer inside the visible mobile browser viewport. */
@media screen and (max-width: 960px) {
  .app > aside {
    height: 100vh;
    height: 100svh;
    height: 100dvh;
  }
  .app > aside .navigation {
    overscroll-behavior-y: contain;
  }
  .app > aside .aside-footer {
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .app > aside .aside-footer button {
    width: 44px;
    min-height: 44px;
  }
}
