:root{--ink:#16181d;--ink-soft:#4a4f58;--ink-faint:#868c96;--rule:#c9ccd2;--rule-strong:#16181d;--paper:#ffffff;--desk:#e8e9ec;--accent:#1d3f73;--accent-soft:#eaf0f9;--danger:#8b2020;--ok:#1f5c37;--warn:#7a5a12;--font-doc:"Noto Serif KR","Apple SD Gothic Neo","Nanum Myeongjo",Georgia,"Times New Roman",serif;--font-ui:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--desk);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:.92em}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-bar{display:flex;align-items:center;gap:24px;padding:10px 24px;background:#fff;border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:20;flex-wrap:wrap}.brand{display:flex;flex-direction:column;color:var(--ink)}.brand:hover{text-decoration:none}.brand-title{font-weight:700;letter-spacing:-.01em}.brand-sub{font-size:12px;color:var(--ink-faint)}.app-nav{display:flex;gap:4px;-webkit-margin-start:auto;margin-inline-start:auto;flex-wrap:wrap}.nav-link{padding:6px 12px;border-radius:4px;color:var(--ink-soft)}.nav-link:hover{background:var(--accent-soft);text-decoration:none}.nav-link.active{background:var(--accent);color:#fff}.locale-switch{display:flex;border:1px solid var(--rule);border-radius:4px;overflow:hidden}.locale-option{padding:5px 10px;font-size:13px;color:var(--ink-soft);background:#fff}.locale-option:hover{text-decoration:none;background:var(--accent-soft)}.locale-option.active{background:var(--ink);color:#fff}.app-main{padding:24px 16px 80px}.page{max-width:1080px;margin:0 auto}.page-head{margin-bottom:20px}.page-head h1{margin:0 0 4px;font-size:26px;letter-spacing:-.02em}.page-code{font-family:monospace;color:var(--accent)}.page-sub{margin:0;color:var(--ink-soft)}.page-note{margin:6px 0 0;font-size:14px}.muted{color:var(--ink-faint)}.section{margin:28px 0}.section>h2{font-size:16px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);border-bottom:1px solid var(--rule);padding-bottom:6px;margin-bottom:14px}.placeholder{color:var(--ink-faint);padding:20px 0}.group-block{margin-bottom:24px}.group-title{font-size:15px;margin:0 0 10px}.group-code{font-family:monospace;color:var(--accent)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.card{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:14px;flex-direction:column}.card,.card-head{display:flex;gap:8px}.card-head{align-items:baseline;color:var(--ink)}.card-code{font-family:monospace;color:var(--accent);font-weight:700}.card-title{font-weight:600}.card-question{margin:0;font-size:13px;color:var(--ink-faint)}.card-latest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;padding:8px;background:#f6f7f9;border-radius:4px;color:var(--ink)}.card-latest-title{color:var(--ink-soft)}.card-empty{margin:0;padding:8px;border:1px dashed var(--rule);border-radius:4px}.card-empty,.card-foot{font-size:13px;color:var(--ink-faint)}.card-foot{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding-top:8px;margin-top:auto}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-block;padding:6px 12px;border:1px solid var(--rule);border-radius:999px;background:#fff;font-size:13px;color:var(--ink-soft);cursor:pointer;font-family:inherit}.chip:hover{color:var(--accent);text-decoration:none}.chip.active,.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent);color:#fff}.data-table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}.data-table td,.data-table th{border:1px solid var(--rule);padding:8px 10px;text-align:start;vertical-align:top}.data-table thead th{background:#f3f4f6;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.inline-check{display:inline-flex;align-items:center;gap:8px;font-size:14px}.wide-input{width:min(420px,100%)}.status-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;border:1px solid var(--rule);background:#fff;color:var(--ink-soft);white-space:nowrap}.status-draft{border-color:#b9bec7}.status-review{border-color:var(--warn);color:var(--warn)}.status-active,.status-approved{border-color:var(--ok);color:var(--ok)}.status-completed{border-color:var(--accent);color:var(--accent)}.status-cancelled,.status-suspended{border-color:var(--danger);color:var(--danger)}.status-archived{color:var(--ink-faint)}.badge{font-size:12px}.button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--rule);border-radius:4px;background:#fff;color:var(--ink);font-size:14px;font-family:inherit;cursor:pointer}.button:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:#16305a;color:#fff}.button.danger{color:var(--danger);border-color:#dcc0c0}.button.danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.button.ghost{border-color:transparent;background:transparent}.button:disabled{opacity:.45;cursor:not-allowed}.add-button{margin-top:6px;padding:4px 10px;border:1px dashed var(--rule);border-radius:4px;background:#fff;font-size:13px;font-family:inherit;color:var(--ink-soft);cursor:pointer}.add-button:hover{border-color:var(--accent);color:var(--accent)}.row-remove{border:none;background:transparent;color:var(--ink-faint);font-size:16px;line-height:1;cursor:pointer;padding:2px 6px}.row-remove:hover{color:var(--danger)}.banner{max-width:210mm;margin:10px auto;padding:10px 14px;border-radius:4px;font-size:14px;border:1px solid var(--rule);background:#fff}.banner ul{margin:6px 0 0;-webkit-padding-start:20px;padding-inline-start:20px}.banner.info{background:var(--accent-soft);border-color:#c3d3ea}.banner.ok{background:#eaf5ee;border-color:#b9dcc6;color:var(--ok)}.banner.warn{background:#fdf6e3;border-color:#e8d8a8;color:var(--warn)}.banner.error{background:#fbeded;border-color:#e5c0c0;color:var(--danger)}.banner.locked{background:#f3f4f6}.modal{position:fixed;inset:0;background:rgba(20,22,26,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-panel{background:#fff;border-radius:6px;padding:20px;width:min(480px,100%)}.modal-panel h2{margin-top:0;font-size:18px}.modal-panel input[type=text],.modal-panel textarea{width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.editor-toolbar{position:-webkit-sticky;position:sticky;top:56px;z-index:15;justify-content:space-between;max-width:210mm;margin:0 auto 14px;padding:8px 10px;background:#fff;border:1px solid var(--rule);border-radius:6px}.editor-toolbar,.toolbar-left,.toolbar-right{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.toolbar-number{font-family:monospace;color:var(--ink-soft)}.status-select select{padding:7px 10px;border:1px solid var(--rule);border-radius:4px;background:#fff;font-family:inherit;font-size:14px}.report-page{width:210mm;min-height:297mm;margin:0 auto 24px;padding:20mm 18mm;background:var(--paper);border:1px solid var(--rule);box-shadow:0 2px 14px rgba(0,0,0,.08);font-family:var(--font-doc);color:var(--ink);line-height:1.7}.paper-Letter{width:215.9mm;min-height:279.4mm}@media (max-width:900px){.paper-Letter,.report-page{width:100%;min-height:0;padding:24px 18px}.banner,.editor-toolbar{max-width:100%}}.running-foot,.running-head{display:none}.doc-system{text-align:center;margin:0;font-size:13px;letter-spacing:.3em;color:var(--ink-faint)}.doc-title{text-align:center;margin:6px 0 2px;font-size:27px;letter-spacing:.06em;border-bottom:3px double var(--rule-strong);padding-bottom:10px}.doc-code{font-family:monospace;color:var(--accent)}.doc-question{text-align:center;margin:8px 0 18px;font-size:13px;color:var(--ink-faint)}.doc-meta{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:14px}.doc-meta th{width:30%;text-align:start;background:#f4f5f7;padding:5px 8px;font-weight:600;color:var(--ink-soft);white-space:nowrap}.doc-meta td,.doc-meta th{border:1px solid var(--rule)}.doc-meta td{padding:4px 8px}.period-inputs{display:inline-flex;align-items:center;gap:6px}.doc-cadence,.doc-purpose{margin:4px 0;font-size:13.5px;color:var(--ink-soft)}.doc-body{margin-top:22px}.doc-section{margin-bottom:26px}.doc-section-title{font-size:16px;margin:0 0 10px;padding-bottom:4px;border-bottom:1px solid var(--rule-strong);letter-spacing:.02em}.doc-section-no{color:var(--accent)}.doc-notice{margin:0 0 12px;padding:7px 10px;background:#f6f7f9;-webkit-border-start:3px solid var(--rule);border-inline-start:3px solid var(--rule);font-size:13px;color:var(--ink-soft)}.field{margin-bottom:14px}.field-label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:4px}.field-required{color:var(--danger);-webkit-margin-start:3px;margin-inline-start:3px}.field-hint{margin:4px 0 0;font-size:12px;color:var(--ink-faint)}.field-empty{color:var(--ink-faint);font-size:13px;margin:4px 0}input[type=date],input[type=number],input[type=text],input[type=time],select,textarea{font-family:inherit;font-size:14px;color:var(--ink);border:1px solid var(--rule);border-radius:3px;padding:5px 8px;background:#fff;width:100%;max-width:100%}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}input:disabled,select:disabled,textarea:disabled{background:#fafbfc;color:var(--ink);border-style:dotted;opacity:1}select{width:auto;min-width:160px}input[type=date],input[type=number],input[type=time]{width:auto;min-width:140px}.number-with-unit{display:inline-flex;align-items:center;gap:6px}.unit{font-size:13px;color:var(--ink-faint)}.list-field-items{margin:0;-webkit-padding-start:22px;padding-inline-start:22px}.list-field-items li{display:list-item;margin-bottom:6px}.list-field-items li textarea{width:calc(100% - 30px);vertical-align:middle}.checklist-field{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:4px 12px;gap:4px 12px}.checklist-field label{display:flex;align-items:flex-start;gap:6px;font-size:14px}.checklist-field input{width:auto;margin-top:5px}.table-scroll{overflow-x:auto}.doc-table,.table-field table{width:100%;border-collapse:collapse;font-size:13.5px}.doc-table td,.doc-table th,.table-field td,.table-field th{border:1px solid var(--rule);padding:4px 6px;text-align:start;vertical-align:top}.doc-table thead th,.table-field thead th{background:#f4f5f7;font-size:12.5px;color:var(--ink-soft);font-weight:600}.row-number{color:var(--ink-faint)}.row-actions,.row-number{width:34px;text-align:center}.table-field input,.table-field select,.table-field textarea{border-color:transparent;padding:3px 4px;min-width:0;width:100%}.table-field input:focus,.table-field select:focus,.table-field textarea:focus{border-color:var(--accent)}.record-card{border:1px solid var(--rule);border-radius:4px;margin-bottom:10px;background:#fcfcfd}.record-card-head{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;border-bottom:1px solid var(--rule);background:#f4f5f7}.record-index{font-size:12.5px;font-weight:600;color:var(--ink-soft)}.record-grid{margin:0;padding:8px 10px}.record-row{display:grid;grid-template-columns:minmax(120px,26%) 1fr;grid-gap:8px;gap:8px;align-items:start;padding:3px 0}.record-row dt{font-size:12.5px;color:var(--ink-soft);padding-top:6px}.record-row dd{margin:0}.ref-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ref-link{font-size:13px}.doc-readonly .doc-field{margin-bottom:12px}.doc-field-label{font-size:12.5px;font-weight:600;color:var(--ink-soft);border-bottom:1px dotted var(--rule);margin-bottom:4px}.doc-field-value{font-size:14px}.doc-paragraph{margin:0}.doc-list{margin:0;-webkit-padding-start:22px;padding-inline-start:22px}.doc-checklist{margin:0;padding:0;list-style:none}.doc-blank{color:var(--ink-faint)}.doc-record{margin-bottom:8px}.doc-record-head th{background:#eef0f3}.doc-record-key{width:30%;background:#f8f9fa;font-weight:600;color:var(--ink-soft)}.doc-footer{margin-top:30px;padding-top:14px;border-top:3px double var(--rule-strong)}.doc-endorsement{width:100%;border-collapse:collapse;font-size:13px;max-width:380px;-webkit-margin-start:auto;margin-inline-start:auto}.doc-endorsement td,.doc-endorsement th{border:1px solid var(--rule-strong);padding:6px 8px;text-align:center}.doc-endorsement th{background:#f4f5f7;font-weight:600}.doc-endorsement td{height:46px;vertical-align:bottom;font-size:12px;color:var(--ink-soft)}.print-view{padding-bottom:40px}@media print{@page{margin:16mm 14mm}body,html{background:#fff;font-size:10.5pt}.add-button,.app-bar,.app-nav,.editor-toolbar,.locale-switch,.modal,.row-actions,.row-remove,.screen-only,aside,nav{display:none!important}.app-main{padding:0}.report-page{width:210mm;min-height:297mm;margin:0 auto;padding:0;border:none;box-shadow:none;page-break-after:always;break-after:page}.report-page:last-of-type{page-break-after:auto;break-after:auto}.paper-Letter{width:215.9mm;min-height:279.4mm}.avoid-break,.doc-endorsement,.doc-field,.doc-record,.record-card,tr{page-break-inside:avoid;break-inside:avoid}.doc-section{page-break-inside:auto;break-inside:auto}.doc-section-title{page-break-after:avoid;break-after:avoid}.page-break-before{page-break-before:always;break-before:page}thead{display:table-header-group}.running-head{display:block;position:running(docHead);font-size:9pt;color:#666;text-align:end;border-bottom:.5pt solid #999;padding-bottom:2mm;margin-bottom:4mm}.running-foot{display:flex;justify-content:space-between;gap:8px;font-size:8.5pt;color:#666;border-top:.5pt solid #999;padding-top:2mm;margin-top:6mm}input,select,textarea{border:none!important;background:transparent!important;color:#000!important;padding:0!important;font-size:10.5pt;-webkit-appearance:none;-moz-appearance:none;appearance:none}.doc-meta td,.doc-meta th,.doc-table td,.doc-table th,.table-field td,.table-field th{border:.5pt solid #333}.doc-title{border-bottom:2pt double #000}.doc-footer{border-top:2pt double #000}a{color:#000;text-decoration:none}.banner,.card-foot,.field-hint{display:none}}