:root{--pw-shell-max-width: 720px;--pw-shell-padding: 24px;--pw-shell-gap: 20px;--pw-shell-radius: 10px;--pw-color-bg: #ffffff;--pw-color-border: #dbe4f0;--pw-color-text: #1f2937;--pw-color-muted: #5b677a;--pw-color-primary: #2563eb;--pw-color-primary-light: rgba(37, 99, 235, .12);--pw-color-btn-bg: #f8fbff;--pw-color-btn-border: #c2d0e5;--pw-dot-size: 32px;--pw-dot-font-size: 13px;--pw-track-height: 4px;--pw-btn-padding: 8px 16px;--pw-btn-radius: 6px}.pw-shell{max-width:var(--pw-shell-max-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--pw-shell-gap);padding:var(--pw-shell-padding);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--pw-color-text)}.pw-shell__empty{text-align:center;padding:32px 16px;color:var(--pw-color-muted)}.pw-shell__start-btn{margin-top:12px;border:1px solid var(--pw-color-btn-border);background:var(--pw-color-btn-bg);color:var(--pw-color-text);padding:var(--pw-btn-padding);border-radius:var(--pw-btn-radius);cursor:pointer;font-size:14px}.pw-shell__header{background:var(--pw-color-bg);border:1px solid var(--pw-color-border);border-radius:var(--pw-shell-radius);padding:20px 24px 16px}.pw-shell__steps{display:flex;justify-content:space-between;margin-bottom:12px}.pw-shell__step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.pw-shell__step-dot{width:var(--pw-dot-size);height:var(--pw-dot-size);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--pw-dot-font-size);font-weight:600;border:2px solid var(--pw-color-border);background:var(--pw-color-bg);color:var(--pw-color-muted);transition:all .25s ease}.pw-shell__step--completed .pw-shell__step-dot{background:var(--pw-color-primary);border-color:var(--pw-color-primary);color:#fff}.pw-shell__step--current .pw-shell__step-dot{border-color:var(--pw-color-primary);color:var(--pw-color-primary);box-shadow:0 0 0 3px var(--pw-color-primary-light)}.pw-shell__step-label{font-size:12px;color:var(--pw-color-muted);text-align:center;white-space:nowrap}.pw-shell__step--current .pw-shell__step-label{color:var(--pw-color-primary);font-weight:600}.pw-shell__step--completed .pw-shell__step-label{color:var(--pw-color-text)}.pw-shell__track{height:var(--pw-track-height);background:var(--pw-color-border);border-radius:calc(var(--pw-track-height) / 2);overflow:hidden}.pw-shell__track-fill{height:100%;background:var(--pw-color-primary);border-radius:calc(var(--pw-track-height) / 2);transition:width .3s ease}.pw-shell__body{background:var(--pw-color-bg);border:1px solid var(--pw-color-border);border-radius:var(--pw-shell-radius);padding:var(--pw-shell-padding);min-height:120px}:root{--pw-color-error: #dc2626;--pw-color-error-bg: #fef2f2;--pw-color-error-border: #fecaca}.pw-shell__validation{list-style:none;margin:0;padding:12px 16px;background:var(--pw-color-error-bg);border:1px solid var(--pw-color-error-border);border-radius:var(--pw-shell-radius);display:flex;flex-direction:column;gap:4px}.pw-shell__validation-item{font-size:13px;color:var(--pw-color-error);padding-left:16px;position:relative}.pw-shell__validation-item:before{content:"•";position:absolute;left:4px}.pw-shell__validation-label{font-weight:600;margin-right:3px}.pw-shell__validation-label:after{content:":"}.pw-shell__footer{display:flex;justify-content:space-between;align-items:center}.pw-shell__footer-left,.pw-shell__footer-right{display:flex;gap:8px}.pw-shell__btn{border:1px solid var(--pw-color-btn-border);background:var(--pw-color-btn-bg);color:var(--pw-color-text);padding:var(--pw-btn-padding);border-radius:var(--pw-btn-radius);cursor:pointer;font-size:14px;transition:background .15s ease,border-color .15s ease}.pw-shell__btn:hover:not(:disabled){background:var(--pw-color-border)}.pw-shell__btn:disabled{opacity:.5;cursor:not-allowed}.pw-shell__btn--next{background:var(--pw-color-primary);border-color:var(--pw-color-primary);color:#fff}.pw-shell__btn--next:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.pw-shell__btn--back{background:transparent;border-color:var(--pw-color-primary);color:var(--pw-color-primary)}.pw-shell__btn--back:hover:not(:disabled){background:var(--pw-color-primary-light)}.pw-shell__btn--cancel{color:var(--pw-color-muted);border-color:transparent;background:transparent}.pw-shell__btn--cancel:hover:not(:disabled){background:var(--pw-color-primary-light)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f5f7fb;color:#1f2937}.page{max-width:660px;margin:0 auto;padding:40px 24px 80px}.page-header{margin-bottom:28px}.page-header h1{margin:0 0 6px;font-size:26px;color:#1f2937}.subtitle{margin:0;font-size:15px;color:#5b677a}.form-body{display:flex;flex-direction:column;gap:18px}.step-intro{margin:0;font-size:14px;color:#5b677a}.step-note{margin:0;font-size:13px;color:#9ca3af;font-style:italic}.pref-label{font-size:14px;font-weight:600;color:#374151;margin:0 0 10px}.required{color:#dc2626;font-size:13px}.optional{font-size:12px;color:#9ca3af;font-weight:400}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:14px;font-weight:500;color:#374151;display:flex;align-items:baseline;gap:4px}.field input[type=text],.field textarea,textarea{border:1px solid #c2d0e5;border-radius:6px;padding:9px 12px;font-size:14px;font-family:inherit;color:#1f2937;background:#fff;width:100%;transition:border-color .15s,box-shadow .15s;resize:vertical}.field input:focus,.field textarea:focus,textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.field--error input,.field--error textarea{border-color:#dc2626}.field-error{font-size:13px;color:#dc2626}.approver-select-list{display:flex;flex-direction:column;gap:8px}.approver-select-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;border:1px solid #e5e7eb;cursor:pointer;transition:border-color .15s,background .15s}.approver-select-item input[type=checkbox]{accent-color:#2563eb;width:16px;height:16px;cursor:pointer}.approver-select-item--selected{border-color:#2563eb;background:#eff6ff}.approver-avatar{width:32px;height:32px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.approver-name{font-size:14px;color:#374151;font-weight:500}.selection-count{margin:4px 0 0;font-size:13px;color:#2563eb;font-weight:500}.doc-summary-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px}.doc-summary-label{margin:0 0 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.doc-summary-title{margin:0 0 4px;font-size:15px;font-weight:600;color:#1f2937}.doc-summary-desc{margin:0;font-size:14px;color:#5b677a}.approver-review-list{display:flex;flex-direction:column;gap:8px}.approver-review-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;border:1px solid #e5e7eb;background:#fff}.approver-review-name{font-size:14px;font-weight:500;color:#1f2937;flex:1}.btn-review{padding:6px 14px;border-radius:6px;border:1px solid #2563eb;background:#eff6ff;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-review:hover:not(:disabled){background:#dbeafe}.btn-review:disabled{opacity:.5;cursor:not-allowed}.decision-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.decision-badge--approved{background:#dcfce7;color:#15803d}.decision-badge--rejected{background:#fee2e2;color:#dc2626}.gate-message{margin:0;font-size:13px;color:#9ca3af;font-style:italic}.gate-message--done{color:#15803d;font-style:normal;font-weight:500}.document-preview{background:#f8fafc;border:1px solid #dbe4f0;border-left:4px solid #2563eb;border-radius:6px;padding:16px 20px}.document-preview__label{margin:0 0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#2563eb}.document-preview__title{margin:0 0 8px;font-size:16px;font-weight:600;color:#1f2937}.document-preview__body{margin:0;font-size:14px;color:#374151;line-height:1.6}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-option{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:1px solid #e5e7eb;cursor:pointer;transition:border-color .15s,background .15s}.radio-option:has(input:checked){border-color:#2563eb;background:#eff6ff}.radio-option--approved:has(input:checked){border-color:#16a34a;background:#f0fdf4}.radio-option--rejected:has(input:checked){border-color:#dc2626;background:#fef2f2}.radio-option input[type=radio]{accent-color:#2563eb;width:16px;height:16px;cursor:pointer;flex-shrink:0}.radio-option-label{font-size:14px;font-weight:600;color:#374151}.radio-option-desc{font-size:12px;color:#9ca3af;margin-left:auto}.outcome-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.outcome-banner--approved{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.outcome-banner--rejected{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.outcome-banner--mixed{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.outcome-icon{font-size:20px}.review-section{margin-bottom:4px}.section-title{font-size:11px;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px}.review-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.review-row{display:grid;grid-template-columns:130px 1fr;gap:8px 16px;padding:9px 16px;border-bottom:1px solid #f1f3f7;font-size:14px}.review-row:last-child{border-bottom:none}.review-key{color:#6b7280;font-weight:500}.approver-result-row{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid #f1f3f7;flex-wrap:wrap}.approver-result-row:last-child{border-bottom:none}.approver-result-name{font-size:14px;font-weight:500;color:#374151;flex:1;min-width:100px}.approver-comment{font-size:13px;color:#6b7280;font-style:italic;width:100%;padding-left:44px}.result-panel{border-radius:12px;padding:40px 32px;text-align:center}.result-icon{font-size:40px;margin-bottom:14px}.result-panel h2{margin:0 0 8px;font-size:22px}.result-panel p{margin:0 0 24px;font-size:15px}.success-panel{background:#f0fdf4;border:1px solid #bbf7d0}.success-panel h2{color:#15803d}.reject-panel{background:#fef2f2;border:1px solid #fecaca}.reject-panel h2{color:#dc2626}.cancel-panel{background:#fafafa;border:1px solid #e5e7eb}.cancel-panel h2{color:#374151}.summary{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:4px 0;margin:0 auto 28px;max-width:460px;text-align:left}.summary-section{padding:14px 20px;border-bottom:1px solid #f5f7fb}.summary-section:last-child{border-bottom:none}.summary-section__title{margin:0 0 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#2563eb}.summary-row{display:grid;grid-template-columns:110px 1fr;gap:4px 12px;font-size:14px;margin-bottom:6px}.summary-row:last-child{margin-bottom:0}.summary-key{font-weight:600;color:#374151}.text-approved{color:#15803d;font-weight:500}.text-rejected{color:#dc2626;font-weight:500}.btn-primary{background:#2563eb;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:14px;font-family:inherit;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#fff;color:#374151;border:1px solid #c2d0e5;padding:10px 24px;border-radius:6px;font-size:14px;font-family:inherit;cursor:pointer}.btn-secondary:hover{background:#f3f4f6}
