:root{--font: "Pretendard", "Malgun Gothic", "맑은 고딕", -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--bg: #F5F7FA;--surface: #FFFFFF;--surface-2: #F7F9FC;--surface-3: #EEF2F8;--border: #E3E8EF;--border-2: #EDF0F5;--text: #1B2A4A;--text-2: #3B4A66;--text-3: #6B7A90;--text-4: #9AA5B5;--primary: #1B4A9B;--primary-2: #1A4FA3;--primary-hover: #163F86;--primary-soft: #E8EFFA;--primary-soft-2: #EAF1FB;--blue-2: #4A86E8;--blue-2-soft: #E6EEFB;--danger: #D63D3D;--danger-hover: #C03232;--danger-soft: #FDF2F2;--success: #1E8E5A;--success-text: #1A7A4C;--success-soft: #E6F4EC;--warn: #B8700E;--warn-soft: #FFF6E5;--warn-border: #F2D9A6;--kakao: #FEE500;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(27, 42, 74, .04);--header-h: 64px;--sidebar-w: 232px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-width:1600px}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary)}h1,h2,h3,h4,p{margin:0}table{border-collapse:collapse;width:100%}.num{font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-rows:var(--header-h) 1fr;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.header-left{display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:32px;height:32px;border-radius:7px;background:var(--primary);display:grid;place-items:center}.brand-mark svg{width:20px;height:20px}.brand-name{font-weight:800;font-size:14px;line-height:1.1;letter-spacing:-.2px}.brand-sub{font-size:7.5px;letter-spacing:.4px;color:var(--text-3);font-weight:700;margin-top:2px;font-family:Arial,Helvetica,sans-serif;white-space:nowrap}.header-divider{width:1px;height:26px;background:var(--border)}.header-title{font-weight:800;font-size:15px;color:var(--primary-2)}.header-right{display:flex;align-items:center;gap:18px;font-size:13.5px;color:var(--text-2)}.mode-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-weight:700;font-size:13px}.mode-pill.standby{background:var(--success-soft);color:var(--success-text)}.mode-pill.active{background:var(--danger);color:#fff}.mode-pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.avatar{width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:12px}.header-user{display:flex;align-items:center;gap:8px;cursor:pointer;position:relative}.user-menu{position:absolute;right:0;top:38px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #1b2a4a1f;min-width:180px;padding:6px;display:none}.user-menu.open{display:block}.user-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 10px;border-radius:6px;font-size:13px}.user-menu button:hover{background:var(--surface-2)}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h))}.nav{padding:32px 14px 0;flex:1}.nav-section{font-size:11px;color:var(--text-4);padding:0 12px;margin-bottom:10px}.nav-section+.nav-item{margin-top:0}.nav-item{display:flex;align-items:center;gap:12px;height:44px;padding:0 16px;border-radius:8px;color:var(--text);font-size:14px;font-weight:500;text-decoration:none;margin-bottom:2px}.nav-item svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--primary);color:#fff;font-weight:700}.nav-gap{height:26px}.sidebar-foot{margin:0 14px;padding:18px 10px 20px;border-top:1px solid var(--border);font-size:11px;color:var(--text-4)}.sidebar-foot .ok{color:var(--success-text);margin-top:6px;display:flex;align-items:center;gap:5px}.sidebar-foot .ok .dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.main{padding:26px 32px 28px;min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;min-height:40px}.page-title{display:flex;align-items:baseline;gap:14px}.page-title h1{font-size:24px;font-weight:800;letter-spacing:-.3px}.page-title .sub{font-size:12.5px;color:var(--text-3)}.page-actions{display:flex;gap:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px 22px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-head h3{font-size:15px;font-weight:800}.card-head .meta{font-size:12px;color:var(--text-3)}.grid{display:grid;gap:20px}.grid-5{grid-template-columns:repeat(5,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-16{margin-top:16px}.mt-12{margin-top:12px}.stat{padding:17px 20px}.stat .label{font-size:11.5px;color:var(--text-3);margin-bottom:8px}.stat .value{font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}.stat .value .dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.stat .value .dot.warn{background:var(--warn)}.stat .value .dot.danger{background:var(--danger)}.stat .sub{font-size:11.5px;color:var(--text-3);margin-top:7px}.stat.big .value{font-size:26px;letter-spacing:-.5px}.stat.big .label{margin-bottom:10px}.c-blue{color:var(--primary-2)!important}.c-blue2{color:var(--blue-2)!important}.c-green{color:var(--success-text)!important}.c-red{color:var(--danger)!important}.c-orange{color:var(--warn)!important}.c-gray{color:var(--text-3)!important}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap}.badge-green{background:var(--success-soft);color:var(--success-text)}.badge-red{background:var(--danger-soft);color:var(--danger)}.badge-orange{background:var(--warn-soft);color:var(--warn)}.badge-blue{background:var(--primary-soft);color:var(--primary-2)}.badge-gray{background:var(--surface-3);color:var(--text-3)}.badge-lock{background:var(--surface-3);color:var(--text-2);gap:5px}.badge-lock svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:700;font-size:14px;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-lg{height:48px;padding:0 26px;font-size:15px}.btn-sm{height:36px;padding:0 14px;font-size:13px}.btn:disabled,.btn.disabled{background:var(--surface-3);border-color:var(--surface-3);color:var(--text-4);cursor:not-allowed}.btn-text{background:none;border:0;color:var(--primary);font-weight:600;padding:0;height:auto;font-size:13px}.btn-text:hover{text-decoration:underline;background:none}.table th{text-align:left;font-size:12px;font-weight:500;color:var(--text-3);padding:10px 8px;border-bottom:1px solid var(--border)}.table td{padding:13px 8px;font-size:13.5px;border-bottom:1px solid var(--border-2);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table td.r,.table th.r{text-align:right}.table td b{font-weight:700}.table .total td{font-weight:800;border-top:1px solid var(--border);border-bottom:0}.table .total-blue td{background:var(--primary-soft-2);color:var(--primary-2);font-weight:800;border-bottom:0}.table .total-blue td:first-child{border-radius:8px 0 0 8px}.table .total-blue td:last-child{border-radius:0 8px 8px 0}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:12.5px;color:var(--text-2);font-weight:500}.field label .req{color:var(--danger);margin-left:2px}.input,.textarea,.select{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:0 14px;height:44px;font-size:14px;color:var(--text);outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b4a9b1f}.input.soft{background:var(--surface-2)}.textarea{padding:14px 16px;height:auto;min-height:100px;line-height:1.7;resize:vertical}.textarea.soft{background:var(--surface-2);color:var(--text-2)}.input:disabled,.textarea:disabled{background:var(--surface-2);color:var(--text-2)}.radio-card{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.radio-card.on{border:2px solid var(--primary);background:var(--primary-soft);padding:15px 17px}.radio-card .t{font-weight:800;font-size:14px;display:flex;align-items:center;gap:8px}.radio-card .t .r{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--text-2);display:inline-block;position:relative;flex:none}.radio-card.on .t .r{border-color:var(--primary)}.radio-card.on .t .r:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--primary)}.radio-card .d{font-size:12px;color:var(--text-3);padding-left:22px}.radio-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;cursor:pointer;font-weight:700;font-size:14px}.radio-row.on{border:2px solid var(--primary);background:var(--primary-soft);padding:14px 17px}.radio-row .r{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--text-2);display:inline-block;margin-right:8px;position:relative;vertical-align:-1px}.radio-row.on .r{border-color:var(--primary)}.radio-row.on .r:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--primary)}.check-row{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--border-2);font-weight:700;font-size:14px;cursor:pointer}.check-row:last-child{border-bottom:0}.check-row .cnt{font-size:13px;color:var(--text-3);font-weight:500}.cb{width:20px;height:20px;border-radius:4px;border:1.5px solid #B8C2D1;display:inline-grid;place-items:center;margin-right:12px;background:var(--surface);flex:none;vertical-align:-4px}.cb.on{background:var(--primary);border-color:var(--primary)}.cb.on:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.check-list{border:1px solid var(--border);border-radius:10px;overflow:hidden}.steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);margin-bottom:24px}.step{display:flex;align-items:center;gap:12px;padding:0 28px;height:58px;border-right:1px solid var(--border);font-size:14px;color:var(--text-4);font-weight:500}.step:last-child{border-right:0}.step .n{width:28px;height:28px;border-radius:50%;background:var(--surface-3);color:var(--text-3);display:grid;place-items:center;font-weight:700;font-size:13px}.step.cur{background:var(--primary-soft);color:var(--primary-2);font-weight:700}.step.cur .n{background:var(--primary);color:#fff}.step.done{color:var(--text);font-weight:700}.step.done .n{background:var(--success);color:#fff}.step.done .n svg{width:14px;height:14px}.progress-stack{height:22px;border-radius:999px;background:#e6eaf0;overflow:hidden;display:flex}.progress-stack>span{display:block;height:100%}.legend{display:flex;gap:18px;font-size:13px;color:var(--text-2);margin-top:12px}.legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px;background:var(--c)}.timeline{list-style:none;margin:0;padding:0 0 0 4px}.timeline li{position:relative;padding:0 0 26px 24px;border-left:2px solid var(--border);margin-left:6px}.timeline li:last-child{padding-bottom:6px}.timeline li:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--c, var(--text-4));box-shadow:0 0 0 2px #fff}.timeline .t{font-size:12px;color:var(--text-3)}.timeline .h{font-weight:800;font-size:14px;margin-top:2px}.timeline .d{font-size:12.5px;color:var(--text-3)}.notice-box{border:1px solid var(--warn-border);background:var(--warn-soft);border-radius:10px;padding:14px 24px;display:flex;align-items:center;gap:20px;font-size:14px;font-weight:500;color:var(--text)}.notice-box .tag{color:var(--warn);font-weight:800}.info-box{background:var(--primary-soft-2);border-radius:10px;padding:14px 18px}.info-box .l{font-size:11.5px;color:var(--text-3)}.info-box .v{font-size:15px;font-weight:800;color:var(--primary-2);margin-top:4px}.download-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-2)}.download-row:last-child{border-bottom:0}.ftype{width:48px;height:48px;border-radius:8px;background:var(--primary-soft-2);color:var(--primary-2);font-weight:800;font-size:12px;display:grid;place-items:center;flex:none}.download-row .t{font-weight:700;font-size:14px}.download-row .d{font-size:12px;color:var(--text-3);margin-top:2px}.download-row .sp{flex:1}.approver-card{display:flex;align-items:center;gap:16px;padding:16px 22px}.approver-card .av{width:48px;height:48px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:800;font-size:18px;display:grid;place-items:center}.approver-card .role{font-weight:800;font-size:16px}.approver-card .meta{font-size:13px;color:var(--text-3);margin-top:3px}.approver-card .sp{flex:1}.approver-card .badge{padding:7px 14px;font-size:14px}.kv-row{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;border-bottom:1px solid var(--border-2);font-size:14px}.kv-row:last-child{border-bottom:0}.kv-row .k{font-weight:700}.kv-row .sp{flex:1}.kv-row .v{color:var(--text-2);margin-right:20px}.empty{text-align:center;padding:70px 20px;color:var(--text-3)}.empty h3{font-size:18px;color:var(--text);margin-bottom:8px}.empty .btn{margin-top:18px}.watermark{position:fixed;right:20px;bottom:14px;font-size:11px;color:var(--text-4);background:#ffffffe6;border:1px solid var(--border);padding:4px 10px;border-radius:999px;z-index:5}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:100}.modal{background:var(--surface);border-radius:16px;width:520px;max-width:92vw;max-height:88vh;overflow:auto;box-shadow:0 20px 60px #00000040}.modal.wide{width:760px}.modal-head{padding:22px 26px 0;display:flex;justify-content:space-between;align-items:center}.modal-head h3{font-size:18px;font-weight:800}.modal-body{padding:18px 26px;font-size:14px;color:var(--text-2);line-height:1.7}.modal-foot{padding:0 26px 22px;display:flex;justify-content:flex-end;gap:10px}.modal .x{background:none;border:0;font-size:20px;color:var(--text-4)}.otp{display:flex;gap:8px;margin:12px 0}.otp input{width:48px;height:56px;text-align:center;font-size:22px;font-weight:800;border:1px solid var(--border);border-radius:8px}.phone-sim{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:16px}.phone-sim .from{font-size:12px;color:var(--text-3)}.phone-sim .msg{background:#fff;border-radius:10px;padding:12px 14px;margin-top:8px;font-size:13px;line-height:1.7;white-space:pre-line}#toast-root{position:fixed;left:50%;bottom:28px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:200}.toast{background:#1b2a4a;color:#fff;padding:12px 18px;border-radius:10px;font-size:14px;font-weight:600;box-shadow:0 8px 24px #0003;animation:toast-in .2s ease-out}.toast.ok{background:var(--success)}.toast.err{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.login-card{width:440px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px 40px 32px;box-shadow:0 10px 30px #1b2a4a0f}.login-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:28px}.login-brand .brand-mark{width:48px;height:48px;border-radius:12px}.login-brand .brand-mark svg{width:28px;height:28px}.login-brand h1{font-size:22px;font-weight:800}.login-brand p{font-size:13px;color:var(--text-3)}.login-card .field{margin-bottom:14px}.login-card .btn{width:100%;margin-top:8px}.login-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-2);font-size:12px;color:var(--text-3)}.login-note b{color:var(--text-2)}.login-note .acc{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:10px 0 14px}.login-note .acc button{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:12px}.login-note .acc button:hover{border-color:var(--primary)}.login-err{color:var(--danger);font-size:13px;margin-top:6px;min-height:18px}.dash-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:20px;align-items:start}.dash-grid>.left{grid-column:1}.dash-grid>.right{grid-column:2;display:flex;flex-direction:column;gap:20px}.quad{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:10px;overflow:hidden}.quad>div{padding:14px 18px;border-right:1px solid var(--border)}.quad>div:last-child{border-right:0}.quad .l{font-size:11.5px;color:var(--text-3);margin-bottom:6px;white-space:nowrap}.quad .v{font-size:27px;font-weight:800;letter-spacing:-.5px}.danger-card{border:2px solid var(--danger);border-radius:var(--radius);background:linear-gradient(135deg,#fff 50%,#fdeeee);padding:22px 24px}.danger-card .top{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--text-3);margin-bottom:16px}.danger-card h2{font-size:20px;font-weight:800;margin-bottom:8px}.danger-card p{font-size:13px;color:var(--text-2);line-height:1.7}.danger-card .actions{display:flex;gap:12px;margin-top:20px}.notice-grid{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}.notice-form .types{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.notice-form .f2{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:20px}.notice-form .foot{display:flex;align-items:center;gap:10px;margin-top:96px}.notice-form .foot .sp{flex:1}.lms-label{font-size:13px;color:var(--text-2);font-weight:500;margin-bottom:8px}.lms-label span{color:var(--text-3);font-weight:400;margin-left:6px}.phone-frame{width:300px;margin:18px auto 0;background:#1f2733;border-radius:40px;padding:22px 12px}.phone-screen{background:#b9cbe0;border-radius:28px;min-height:560px;padding:16px 12px}.phone-screen .sender{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-2);margin-bottom:6px}.phone-screen .sender .brand-mark{width:24px;height:24px;border-radius:6px}.phone-screen .sender .brand-mark svg{width:14px;height:14px}.bubble{background:#fff;border-radius:12px;overflow:hidden;margin-left:32px;font-size:12.5px;line-height:1.65}.bubble .kk{background:var(--kakao);font-weight:800;padding:8px 14px;font-size:13px}.bubble .body{padding:12px 14px;white-space:pre-line;color:var(--text)}.bubble .body b{display:block;margin-bottom:10px}.bubble .btn-row{border-top:1px solid var(--border-2);text-align:center;padding:10px;font-weight:700;font-size:13px}.bubble.sms .kk{background:var(--surface-3);color:var(--text-2)}.target-table .row{display:flex;justify-content:space-between;padding:12px 10px;border-bottom:1px solid var(--border-2);font-size:14px}.target-table .row.indent{padding-left:30px;color:var(--text-2)}.target-table .row .hint{font-size:13px;color:var(--text-3);margin-left:4px}.target-table .sum{display:flex;justify-content:space-between;align-items:center;padding:14px 12px;background:var(--primary-soft-2);border-radius:8px;margin-top:8px;font-weight:800;color:var(--primary-2);font-size:14px}.target-table .sum .v{font-size:22px}.mini-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.mini-cards>div{border:1px solid var(--border);border-radius:10px;padding:16px 20px}.mini-cards .l{font-size:12px;color:var(--text-3);margin-bottom:8px}.mini-cards .v{font-weight:800;font-size:14px}.precheck{border:1px dashed var(--border);border-radius:10px;padding:18px 20px;margin-top:22px}.precheck h4{font-size:14px;font-weight:800;margin-bottom:8px}.precheck label{display:flex;align-items:center;font-size:13px;color:var(--text-2);padding:4px 0;cursor:pointer}.precheck .cb{width:16px;height:16px;margin-right:8px}.precheck .cb.on:after{width:4px;height:7px}.approve-count{display:flex;align-items:center;gap:12px;padding:12px 22px;font-size:12.5px;color:var(--text-3)}.approve-count b{color:var(--text);font-size:14px}.approve-count .sp{flex:1}.wizard-foot{display:flex;justify-content:flex-end;gap:12px;margin-top:40px}.progress-head{display:flex;align-items:baseline;gap:16px}.progress-head .pct{font-size:42px;font-weight:800;color:var(--primary-2);letter-spacing:-1px;line-height:1}.progress-head .cnt{font-size:15px;color:var(--text-2)}.progress-head .sp{flex:1}.progress-head .meta{font-size:13px;color:var(--text-3)}.chart-wrap{height:320px}.chart-wrap svg{width:100%;height:100%}.results-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;margin-top:24px;align-items:start}.test-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:start}.sec-label{font-size:12.5px;color:var(--text-2);font-weight:500;margin:0 0 10px}.sec-label span{color:var(--text-3);font-weight:400;margin-left:6px}.sec-label.mt{margin-top:20px}.method{display:grid;grid-template-columns:1fr 1fr;gap:14px}.drill-grid{display:grid;grid-template-columns:1.22fr 1fr;gap:24px;margin-top:24px;align-items:start}.tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tpl-card .body-pre{background:var(--surface-2);border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.7;white-space:pre-line;color:var(--text-2);margin:12px 0;min-height:190px}.tpl-card .var{color:var(--primary-2);font-weight:700}.tpl-card .row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--border-2);color:var(--text-2)}.tpl-card .row:last-child{border-bottom:0}.perm-note{font-size:13px;color:var(--text-3);margin-top:10px}
