:root{font-family:Noto Sans,Arial,sans-serif;color:#222832;background:#f7f8fa;font-size:16px;font-weight:400;line-height:1.5;--border: #dce0e5;--muted: #626b78}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,input,textarea,select{border-radius:6px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7fa6eb;outline-offset:3px}input,textarea,select{width:100%;border:1px solid #bcc3ce;background:#fff;color:inherit;padding:10px 12px}input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#29394f;flex-shrink:0}input::placeholder{color:#79828e}label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:600}label .hint{font-weight:400}h1,h2,h3,p{margin-top:0}h1{font-size:26px;font-weight:600;letter-spacing:-.6px;margin:0}h2{font-size:24px;font-weight:600;letter-spacing:-.4px;margin-bottom:7px}h2:focus{outline:none}h3{font-size:16px;font-weight:600;margin-bottom:10px}p{margin-bottom:16px}main{max-width:1040px;padding:40px 28px 60px;margin:auto}.app-header,.stepper{margin-bottom:30px}.stepper ol{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;list-style:none;padding:0;margin:0}.stepper li{border-bottom:2px solid var(--border);padding-bottom:15px}.stepper li.current{border-color:#29394f}.stepper button{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:0;text-align:left;color:var(--muted);font-size:15px}.stepper .current button{color:#222832;font-weight:600}.step-number{display:grid;place-items:center;height:28px;width:28px;flex-shrink:0;border-radius:50%;background:#e9ecf0;color:#556174;font-size:14px}.current .step-number{background:#29394f;color:#fff}.complete .step-number{background:#dce3ec;color:#29394f}.screen{background:#fff;border:1px solid var(--border);border-radius:10px;padding:32px}.screen-heading{margin-bottom:28px}.screen-heading p{color:var(--muted);margin:0}.primary,.secondary,.text-button{min-height:43px;padding:10px 18px;font-size:15px;font-weight:500}.primary{background:#29394f;color:#fff;border:1px solid #29394f}.primary:hover:enabled{background:#18273c}.secondary{background:#fff;color:#303e51;border:1px solid #cbd1d9}.secondary:hover:enabled{background:#f2f4f7}.text-button{padding:6px 0;border:0;color:#315e9c;background:transparent;text-align:left}.text-button:hover{text-decoration:underline}.hint{font-size:14px;color:var(--muted);font-weight:400;line-height:1.6}.unit{font-weight:400;color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-zone{width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:38px 20px;background:#fafbfc;border:1px dashed #aab5c4;color:#303e51}.upload-zone strong{font-size:17px;font-weight:600}.upload-zone:hover:enabled,.upload-zone.dragging{background:#f0f4fa;border-color:#58739c}.upload-screen>.hint{margin:16px 0 8px}.source-summary{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:20px 0;margin-top:10px;border-bottom:1px solid var(--border)}.source-summary strong{overflow-wrap:anywhere}.source-summary p{margin:4px 0 0;font-size:14px;color:var(--muted)}.file-table-field{max-width:560px;margin-top:22px}.review-rows{margin-top:0}summary{cursor:pointer;font-size:16px;font-weight:600;padding:14px 0}details{border-top:1px solid var(--border)}.review-settings{max-width:550px;margin-top:8px}.review-settings .number-field{max-width:300px}.review-settings>p{margin-top:12px}.row-actions{display:flex;gap:10px;align-items:center;margin:20px 0 15px}.row-actions input{min-width:150px;flex:1}.row-actions button{white-space:nowrap}.table-scroll{overflow:auto;max-height:420px;border:1px solid var(--border);border-radius:6px}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:13px 15px;border-bottom:1px solid #e5e8ed;white-space:pre-line;min-width:100px}th{position:sticky;top:0;z-index:1;background:#f5f6f8;font-weight:600}th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){min-width:60px}.excluded td{color:#838a94;background:#fafafa}.empty-state{padding:18px;color:var(--muted)}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}textarea{resize:vertical;min-height:192px;line-height:1.7;margin-top:8px}.template-grid textarea+p{margin:22px 0 10px}.field-label{font-size:15px;font-weight:600;margin-bottom:10px}.column-buttons{display:flex;gap:8px;flex-wrap:wrap}.column-buttons button{padding:7px 13px;min-height:39px}.reset-template{font-size:14px;margin-top:8px}.sample-panel{border:1px solid var(--border);border-radius:7px;background:#fafbfc;padding:20px;align-self:start}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-heading h3{margin:0}.sample-label{white-space:pre-line;overflow-wrap:anywhere;background:#fff;border:1px solid var(--border);border-radius:5px;padding:22px;margin:20px 0;min-height:137px;line-height:1.7}.sample-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.sample-controls button{padding:7px 10px;font-size:14px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.text-settings{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;padding-top:24px;border-top:1px solid var(--border)}.preset-field{max-width:460px}.paper-summary{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:20px;margin:24px 0 28px;padding:20px;border:1px solid var(--border);border-radius:6px;background:#fafbfc}.paper-summary span{display:block;color:var(--muted);font-size:14px;margin-bottom:5px}.paper-summary strong{display:block;font-size:15px;font-weight:500}fieldset{margin:20px 0 28px;padding:0;border:0}fieldset:last-child{margin-bottom:24px}legend{padding:0;font-size:17px;font-weight:600;margin-bottom:7px}fieldset>.hint{margin-bottom:17px}.custom-layout fieldset+fieldset,.print-adjustments fieldset+fieldset{padding-top:24px;border-top:1px solid #e5e8ed}.number-field .hint{margin-top:0}.generate-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:32px}.print-summary{margin:0 0 28px}.print-summary>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--border)}dt{color:var(--muted)}dd{margin:0;text-align:right;font-weight:500}.checkbox-label{display:flex;align-items:flex-start;flex-direction:row;gap:10px;font-size:14px;font-weight:400;margin-bottom:18px}.checkbox-label input{margin-top:2px}.preview-panel{min-width:0}.preview-stage{background:#eef0f3;padding:22px;border:1px solid var(--border);border-radius:6px}.paper{display:block;width:100%;background:#fff;box-shadow:0 2px 7px #00000012}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:14px}.pagination button{font-size:14px;padding:7px 12px}.alert,.notice{padding:16px 18px;margin:18px 0;border:1px solid #e2c5bd;background:#fcf4f1;color:#813c2c;border-radius:6px;font-size:15px;overflow-wrap:anywhere}.alert ul{margin:0;padding-left:20px}.alert li+li{margin-top:6px}.alert p{margin:10px 0 0}.notice{border-color:#c4d5c8;background:#f2f7f3;color:#345b3e}.step-actions{display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.action-right{margin-left:auto}@media(max-width:760px){main{padding:24px 16px 40px}.app-header,.stepper{margin-bottom:24px}.stepper ol{gap:10px}.stepper button{align-items:flex-start;flex-direction:column;gap:8px;font-size:14px}.stepper li{padding-bottom:12px}.screen{padding:24px}.template-grid,.generate-grid{grid-template-columns:1fr;gap:24px}.text-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-summary{grid-template-columns:1fr;gap:16px}.row-actions{flex-wrap:wrap}.row-actions input{flex-basis:100%}.generate-controls{order:0}.preview-panel{order:1}}@media(max-width:440px){.screen{padding:20px}.field-grid,.text-settings{grid-template-columns:1fr}.stepper ol{gap:6px}.stepper button{font-size:14px;overflow-wrap:anywhere}.source-summary{align-items:flex-start}.preview-stage{padding:12px}}
