.login{display:flex;align-items:center;justify-content:center;min-height:100%;padding:24px;background:linear-gradient(160deg,#0f172a,#13213f 55%,#1b3a6b)}.login-card{width:100%;max-width:420px;background:var(--ui-panel);border-radius:14px;padding:32px 28px 24px;text-align:center;box-shadow:0 18px 50px #00000059}.login-logo{width:76px;height:auto;margin:0 auto 10px;display:block}.login-title{font-size:19px;font-weight:700;color:var(--ui-navy);margin:0 0 6px}.login-sub{font-size:13px;color:var(--ui-muted);line-height:1.5;margin:0 0 22px}.login-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border:1px solid var(--ui-line);border-radius:var(--radius);background:#fff;color:var(--ui-text);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.login-btn:hover:not(:disabled){background:#f7f9fd;border-color:var(--ui-accent)}.login-btn:disabled{opacity:.6;cursor:progress}.login-ms-mark{width:18px;height:18px;flex:0 0 auto}.login-note{font-size:11.5px;color:var(--ui-muted);line-height:1.55;margin:14px 0 0}.login-error,.login-warn{font-size:12px;line-height:1.5;text-align:left;border-radius:6px;padding:8px 10px;margin:14px 0 0}.login-error{color:var(--ui-danger);background:#fdeceb;border:1px solid #f3c9c5}.login-warn{color:#7a5b00;background:#fff8e1;border:1px solid #f0e0a8}.login-warn code{font-size:11px;background:#0000000f;padding:1px 4px;border-radius:3px}.login-foot{font-size:11px;color:var(--ui-muted);margin:20px 0 0}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;border-radius:999px;background:#ffffff1f;color:#fff;font-size:12px;max-width:260px}.user-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip .btn-icon{color:#fffc}.user-chip .btn-icon:hover:not(:disabled){background:#ffffff2e;color:#fff}.cs-preview-wrap{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}.cs-preview-scroll{overflow:auto;background:#6b7280;padding:24px;flex:1 1 auto;min-height:0;scrollbar-gutter:stable}.cs-zoom-outer{margin:0 auto;position:relative}.cs-zoom-inner{transform-origin:top left;position:absolute;top:0;left:0}.cs-zoom-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:6px 12px;background:#4b5563;color:#e5e7eb;font-size:12px;flex:0 0 auto}.cs-zoom-label{font-variant-numeric:tabular-nums}.cs-zoom-select{background:#374151;color:#f3f4f6;border:1px solid #6b7280;border-radius:5px;padding:3px 6px;font-size:12px;font-family:inherit}.cs-page{width:var(--page-width);height:var(--page-height);position:relative;overflow:hidden;margin:0 auto 24px;background:#fff;box-shadow:0 8px 28px #00000059;font-family:var(--font-body);font-size:var(--size-body);line-height:var(--line-body);color:var(--color-text);box-sizing:border-box}.cs-page:last-child{margin-bottom:0}.cs-page-body{position:absolute;overflow:hidden}.cs-flow{display:flow-root}.cs-measure{position:absolute;left:-100000px;top:0;visibility:hidden;font-family:var(--font-body);font-size:var(--size-body);line-height:var(--line-body);color:var(--color-text);pointer-events:none}.cs-body{font-size:var(--size-body);line-height:var(--line-body);margin:0 0 var(--space-body-after);text-align:justify}.cs-body.cs-indent{text-indent:var(--space-first-line-indent)}.cs-spacer{margin:0 0 var(--space-body-after);min-height:1em}.cs-h1{font-size:var(--size-h1);font-weight:700;color:var(--color-navy);margin:var(--space-h1-before) 0 var(--space-h1-after);line-height:var(--line-body)}.cs-h2{font-size:var(--size-h2);font-weight:700;color:var(--color-accent);margin:var(--space-h2-before) 0 var(--space-h2-after);line-height:var(--line-body)}.cs-h3{font-size:var(--size-h3);font-weight:700;color:var(--color-heading-deep);margin:var(--space-h3-before) 0 var(--space-h3-after);line-height:var(--line-body)}.cs-h4{font-size:var(--size-h4);font-weight:700;color:var(--color-heading-deep);margin:var(--space-h3-before) 0 var(--space-h3-after);line-height:var(--line-body)}.cs-list{margin:0;padding-left:1.6em;font-size:var(--size-body);line-height:var(--line-body)}.cs-caption{font-size:var(--size-caption);color:var(--color-muted);font-style:italic;text-align:center;margin:2pt 0 var(--space-body-after)}.cs-figure{margin:0 0 2pt;text-align:center}.cs-figure img{max-width:100%;height:auto;display:inline-block}.cs-image-placeholder{display:inline-block;padding:12pt 18pt;border:1px dashed var(--color-border);color:var(--color-muted);font-size:var(--size-caption)}.cs-tablewrap{position:relative;margin:0 0 var(--space-body-after)}.cs-tablewrap[data-continued="1"]:before{content:"(ต่อ)";position:absolute;right:0;top:calc(-1 * var(--size-caption) - 2pt);font-size:var(--size-caption);font-style:italic;color:var(--color-muted)}.cs-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--size-table-body);line-height:var(--line-cell)}.cs-table th,.cs-table td{border:.5pt solid var(--color-border);padding:var(--space-cell-padding);vertical-align:top;word-wrap:break-word;overflow-wrap:anywhere}.cs-table th{background:var(--color-navy);color:#fff;font-size:var(--size-table-header);font-weight:700;text-align:center;vertical-align:middle}.cs-table tr.zebra td{background:var(--color-zebra)}.cs-table .al-left{text-align:left}.cs-table .al-center{text-align:center}.cs-table .al-right{text-align:right}.cs-cell-text{display:block}.cs-cell-img{display:block;max-width:100%;height:auto;margin-top:var(--space-cell-padding)}.cs-cell-img+.cs-cell-text{margin-top:var(--space-cell-padding)}.al-center .cs-cell-img{margin-left:auto;margin-right:auto}.al-right .cs-cell-img{margin-left:auto}.cs-labelvalue .cs-label,.cs-testcase .cs-tc-label{background:var(--color-zebra);font-weight:700;vertical-align:middle}.cs-testcase .cs-tc-title{text-align:left}.cs-signatures{display:flex;gap:var(--space-cell-padding);margin:0 0 var(--space-body-after)}.cs-sign{flex:1 1 0;text-align:center;font-size:var(--size-table-body);line-height:var(--line-cell);padding:var(--space-cell-padding)}.cs-sign-line{border-bottom:.5pt solid var(--color-muted);height:3em;margin-bottom:var(--space-cell-padding)}.cs-sign-role{font-weight:700}.cs-art{position:absolute;object-fit:contain;pointer-events:none}.cs-cover-title,.cs-cover-rule,.cs-cover-subtitle,.cs-cover-attribution{position:absolute;z-index:4}.cs-cover-title{font-weight:700;color:var(--color-cover-accent);line-height:1.1;text-align:left}.cs-cover-rule{border-bottom:.75pt solid var(--color-cover-accent);height:0}.cs-cover-subtitle{font-size:var(--size-cover-subtitle);color:var(--color-text);line-height:1.35;text-align:left}.cs-cover-attribution{font-size:var(--size-cover-attribution);font-weight:700;color:var(--color-cover-muted);line-height:2.1;text-align:right}.cs-runhead{position:absolute;border-bottom:.75pt solid var(--color-accent);padding-bottom:var(--space-header-rule-gap)}.cs-runhead-logo{position:absolute;object-fit:contain;pointer-events:none}.cs-runhead-text{text-align:right;font-size:var(--size-page-header-address);color:var(--color-muted);line-height:var(--line-furniture)}.cs-runhead-company{font-size:var(--size-page-header-company);font-weight:700;color:var(--color-navy)}.cs-runfoot{position:absolute;display:flex;justify-content:space-between;border-top:.5pt solid var(--color-border);padding-top:2pt;font-size:var(--size-footer);line-height:var(--line-furniture);color:var(--color-muted)}.cs-confidential{color:var(--color-confidential)}.cs-toc-heading{margin-top:0}.cs-toc-row{display:flex;align-items:baseline;gap:6px;font-size:var(--size-body);line-height:1.55}.cs-toc-dots{flex:1 1 auto;border-bottom:1px dotted var(--color-border);transform:translateY(-3px)}.cs-toc-page{color:var(--color-muted);font-variant-numeric:tabular-nums}[data-anchor]{cursor:pointer}[data-anchor]:not(.cs-page):hover{background:#1479db14;box-shadow:0 0 0 2px #1479db38;border-radius:2px}.cs-overflow-warn{position:absolute;left:0;right:0;bottom:0;z-index:9;padding:4px 8px;background:#b0281f;color:#fff;font-size:9pt;text-align:center;pointer-events:none}:root{--ui-bg: #0f172a;--ui-panel: #ffffff;--ui-surface: #f4f6fb;--ui-line: #d8dfec;--ui-text: #1a2233;--ui-muted: #5b6577;--ui-navy: #13213f;--ui-accent: #1479db;--ui-danger: #b0281f;--radius: 8px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Sarabun,sans-serif;font-size:14px;color:var(--ui-text);background:var(--ui-surface)}.app{display:flex;flex-direction:column;height:100%}.app-booting{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;color:var(--ui-muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:var(--ui-navy);color:#fff;flex:0 0 auto}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:34px;height:auto;background:#fff;border-radius:6px;padding:3px}.brand-title{font-weight:700;font-size:15px}.brand-sub{font-size:12px;opacity:.75}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:var(--radius);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.btn.primary{background:var(--ui-accent);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.1)}.btn.primary:disabled{opacity:.55;cursor:progress}.btn.secondary{background:#ffffff29;color:#fff;border-color:#ffffff73}.btn.secondary:hover:not(:disabled){background:#ffffff42}.btn.secondary:disabled{opacity:.55}.btn.ghost{background:transparent;color:#fff;border-color:#ffffff59}.btn.ghost:hover{background:#ffffff1f}.status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#fff8e1;border-bottom:1px solid #f0e0a8;font-size:13px;flex:0 0 auto}.layout{display:grid;grid-template-columns:minmax(420px,1fr) minmax(520px,1.15fr);flex:1 1 auto;min-height:0}.editor{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--ui-line);background:var(--ui-surface)}.editor-scroll{overflow:auto;padding:14px;min-height:0}.preview{min-height:0;overflow:hidden}@media(max-width:1100px){.layout{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.editor{border-right:none;border-bottom:1px solid var(--ui-line)}}.tabs{display:flex;gap:4px;padding:10px 14px 0;flex:0 0 auto}.tab{border:1px solid var(--ui-line);border-bottom:none;background:#e8ecf5;padding:8px 16px;border-radius:var(--radius) var(--radius) 0 0;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--ui-muted)}.tab.active{background:var(--ui-panel);color:var(--ui-navy)}.panel{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--radius);padding:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-navy);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--ui-line)}.panel-title:first-child{margin-top:0}.hint{font-size:12px;color:var(--ui-muted);margin:4px 0 10px}.type-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.type-chip{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 12px;border:1.5px solid var(--ui-line);border-radius:var(--radius);background:#fff;cursor:pointer;font-family:inherit;text-align:left}.type-chip strong{font-size:15px;color:var(--ui-navy)}.type-chip span{font-size:11px;color:var(--ui-muted);line-height:1.25}.type-chip.active{border-color:var(--ui-accent);background:#eaf2fd}.field{display:block;margin-bottom:10px}.field-label{display:block;font-size:12px;font-weight:600;color:var(--ui-muted);margin-bottom:4px}input[type=text],input:not([type]),input[type=number],textarea,select{width:100%;border:1px solid var(--ui-line);border-radius:6px;padding:7px 9px;font-family:inherit;font-size:13px;color:var(--ui-text);background:#fff;resize:vertical}input:focus,textarea:focus{outline:2px solid var(--ui-accent);outline-offset:-1px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 10px}.inline-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ui-muted);margin-bottom:6px}.inline-check input{width:auto}.revision-row,.row-2,.row-3,.row-col{display:grid;gap:6px;align-items:start;margin-bottom:6px}.revision-row{grid-template-columns:.7fr 1fr 1fr .8fr 2fr auto}.row-2{grid-template-columns:1fr 1fr auto}.row-3{grid-template-columns:1fr 1fr 1fr auto}.row-col{grid-template-columns:1fr 64px 38px auto auto;align-items:center}.col-head{display:grid;grid-template-columns:1fr 64px 38px auto auto;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted);margin-bottom:3px}.align-picker{display:inline-flex;border:1px solid var(--ui-line);border-radius:6px;overflow:hidden}.align-btn{display:flex;align-items:center;justify-content:center;border:none;background:#fff;width:26px;height:26px;cursor:pointer;color:var(--ui-muted);font-family:inherit;padding:0}.align-icon{display:flex;flex-direction:column;gap:2px;width:13px}.align-icon i{display:block;height:2px;border-radius:1px;background:currentcolor;width:100%}.align-icon i:nth-child(2){width:62%}.align-btn[data-align=left] .align-icon{align-items:flex-start}.align-btn[data-align=center] .align-icon{align-items:center}.align-btn[data-align=right] .align-icon{align-items:flex-end}.align-btn+.align-btn{border-left:1px solid var(--ui-line)}.align-btn:hover{background:#eaf2fd}.align-btn.active{background:var(--ui-accent);color:#fff}.cell-parts{display:flex;flex-direction:column;gap:3px;padding:3px 3px 6px;position:relative}.cell-part{position:relative}.cell-part textarea{border:none;border-radius:0;font-size:12px;overflow:hidden;resize:none;min-height:0}.cell-part-actions{position:absolute;top:1px;right:1px;display:flex;gap:1px;background:#ffffffd9;border-radius:4px;opacity:0;transition:opacity .12s}.cell-part:hover .cell-part-actions,.cell-part:focus-within .cell-part-actions{opacity:1}.btn-icon.tiny{width:18px;height:18px;font-size:10px;border-radius:4px}.cell-part-add{position:absolute;right:2px;bottom:0;display:flex;gap:3px;opacity:0;transition:opacity .12s;background:#ffffffe5;border-radius:4px;pointer-events:none}.cell-parts:hover .cell-part-add,.cell-parts:focus-within .cell-part-add,.cell-parts[data-empty] .cell-part-add{opacity:1;pointer-events:auto}.cell-image{padding:2px 3px 3px}.cell-image-add{border:1px dashed var(--ui-line);background:transparent;border-radius:4px;padding:1px 5px;font-size:10px;color:var(--ui-muted);cursor:pointer;font-family:inherit;white-space:nowrap}.cell-image-add:hover{border-color:var(--ui-accent);color:var(--ui-accent);background:#eaf2fd}.cell-thumb{display:block;max-width:100%;max-height:60px;border:1px solid var(--ui-line);border-radius:3px}.cell-image-controls{display:flex;align-items:center;gap:3px;margin-top:2px}.cell-image-controls input[type=range]{width:100%;min-width:40px}.cell-image-pct{font-size:10px;color:var(--ui-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.step-action{display:flex;flex-direction:column;gap:3px}.weight-pct{font-size:12px;color:var(--ui-muted);text-align:right}.step-no{display:none}.btn-mini{border:1px solid var(--ui-line);background:#fff;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600;color:var(--ui-navy);cursor:pointer;font-family:inherit;white-space:nowrap}.btn-mini:hover{background:#eaf2fd;border-color:var(--ui-accent)}.btn-mini.accent{border-color:var(--ui-accent);color:var(--ui-accent)}.btn-icon{border:1px solid transparent;background:transparent;border-radius:6px;width:26px;height:26px;font-size:13px;line-height:1;cursor:pointer;color:var(--ui-muted);font-family:inherit;flex:0 0 auto}.btn-icon:hover:not(:disabled){background:#eaf2fd;color:var(--ui-navy)}.btn-icon.danger:hover:not(:disabled){background:#fdeceb;color:var(--ui-danger)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.section{border:1px solid var(--ui-line);border-radius:var(--radius);margin-bottom:8px;background:#fff}.section[data-depth="2"]{background:#fbfcfe}.section[data-depth="3"]{background:#f7f9fc}.section-bar{display:flex;align-items:center;gap:6px;padding:7px 8px;border-bottom:1px solid var(--ui-line)}.section-number{font-weight:700;font-size:12px;color:var(--ui-accent);min-width:34px;font-variant-numeric:tabular-nums}.section-title{flex:1 1 auto;border:1px solid transparent!important;background:transparent!important;font-weight:600}.section-title:hover{border-color:var(--ui-line)!important;background:#fff!important}.section-body{padding:10px}.children{margin-top:8px;padding-left:12px;border-left:2px solid var(--ui-line)}.block-actions{display:flex;gap:2px;flex:0 0 auto}.flash{animation:flash-row 1.4s ease-out}@keyframes flash-row{0%,55%{background:#dbeafe;outline:2px solid var(--ui-accent);outline-offset:1px}to{background:transparent;outline:2px solid transparent;outline-offset:1px}}.block{border:1px solid var(--ui-line);border-radius:6px;margin-bottom:8px;background:#fff}.block-bar{display:flex;align-items:center;justify-content:space-between;padding:5px 7px;background:var(--ui-surface);border-bottom:1px solid var(--ui-line);border-radius:6px 6px 0 0}.block-kind{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted)}.block>textarea,.block>div{padding:8px}.block>textarea{width:calc(100% - 16px);margin:8px;padding:7px 9px}.subhead{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted);margin:10px 0 6px}.add-block{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-top:6px;border-top:1px dashed var(--ui-line)}.add-block-label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--ui-muted)}.testcase{border:1px solid var(--ui-line);border-radius:6px;padding:8px;margin-bottom:8px;background:#fbfcfe}.thumb{max-width:100%;max-height:140px;display:block;margin:8px 0;border:1px solid var(--ui-line);border-radius:4px}.table-grid-scroll{overflow-x:auto;margin-bottom:8px}.editor-grid{width:100%;border-collapse:collapse;font-size:12px}.editor-grid th{background:var(--ui-surface);border:1px solid var(--ui-line);padding:4px 6px;text-align:left;font-size:11px;color:var(--ui-muted);font-weight:700}.editor-grid td{border:1px solid var(--ui-line);padding:0}.editor-grid td.narrow,.editor-grid th.narrow{width:30px;text-align:center}.editor-grid{table-layout:fixed}.editor-grid th{overflow-wrap:anywhere}.editor-grid textarea{border:none;border-radius:0;font-size:12px}.editor-grid textarea:focus{outline-offset:-2px}@media print{@page{size:letter;margin:0}html,body{width:8.5in;height:auto;margin:0;padding:0;background:#fff}.toolbar,.status,.tabs,.editor,.cs-zoom-bar,.cs-measure,.cs-overflow-warn{display:none!important}.app,.layout,.preview{display:block!important;height:auto!important;overflow:visible!important}.cs-preview-wrap{display:block!important;height:auto!important}.cs-preview-scroll{overflow:visible!important;padding:0!important;background:#fff!important;height:auto!important}.cs-zoom-outer{width:8.5in!important;height:auto!important;margin:0!important}.cs-zoom-inner{position:static!important;transform:none!important;width:8.5in!important;height:auto!important}.cs-page{margin:0!important;box-shadow:none!important;break-after:page;page-break-after:always;overflow:hidden}.cs-page:last-child{break-after:auto;page-break-after:auto}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
