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