: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__root-progress{background:var(--pw-color-bg);border:1px solid var(--pw-color-border);border-radius:var(--pw-shell-radius);padding:20px 24px 16px}.pw-shell__root-progress .pw-shell__steps{display:flex;justify-content:space-between;margin-bottom:12px}.pw-shell__root-progress .pw-shell__step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}.pw-shell__root-progress+.pw-shell__header{margin-top:calc(-1 * var(--pw-shell-gap));border-top:1px solid var(--pw-color-border);border-top-left-radius:0;border-top-right-radius:0;padding:12px 24px;opacity:.6}.pw-shell__root-progress:has(+.pw-shell__header){border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:12px}.pw-shell__root-progress+.pw-shell__header .pw-shell__steps{margin-bottom:6px}.pw-shell__root-progress+.pw-shell__header .pw-shell__step-dot{width:22px;height:22px;font-size:10px}.pw-shell__root-progress+.pw-shell__header .pw-shell__step-label{font-size:10px}.pw-shell__root-progress+.pw-shell__header .pw-shell__track{height:3px}.pw-shell--progress-split .pw-shell__root-progress+.pw-shell__header{margin-top:0;border-top:1px solid var(--pw-color-border);border-radius:var(--pw-shell-radius)}.pw-shell--progress-split .pw-shell__root-progress:has(+.pw-shell__header){border-radius:var(--pw-shell-radius);padding-bottom:16px}.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:680px;margin:0 auto;padding:40px 24px 80px}.page-header{margin-bottom:24px}.page-header h1{margin:0 0 6px;font-size:26px;color:#1f2937}.subtitle{margin:0 0 12px;font-size:14px;color:#5b677a;line-height:1.5}.storage-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px}.storage-toggle__label{font-size:13px;font-weight:600;color:#6b7280;margin:0}.storage-toggle__btn{padding:6px 12px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.storage-toggle__btn:hover:not(:disabled){background:#f9fafb;border-color:#cbd5e1}.storage-toggle__btn--active{background:#2563eb;color:#fff;border-color:#2563eb}.storage-toggle__btn:disabled{opacity:.5;cursor:not-allowed}.storage-toggle__btn--disabled{opacity:.6;cursor:not-allowed;color:#9ca3af}.storage-toggle__btn--disabled:hover{background:#fff;border-color:#e5e7eb}.api-error-banner{display:flex;align-items:flex-start;gap:10px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:12px;font-size:13px;color:#991b1b;line-height:1.5}.api-error-banner__icon{font-size:16px;flex-shrink:0;margin-top:1px}.api-error-banner code{background:#fee2e2;padding:2px 6px;border-radius:3px;font-size:12px;font-family:SF Mono,Monaco,Consolas,monospace}.restored-banner{display:flex;align-items:center;gap:10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:14px;color:#1d4ed8}.restored-banner__icon{font-size:18px;flex-shrink:0}.restored-banner__close{margin-left:auto;background:none;border:none;cursor:pointer;color:#93c5fd;font-size:16px;padding:0 2px;line-height:1}.restored-banner__close:hover{color:#1d4ed8}.banner-fade-enter-active,.banner-fade-leave-active{transition:opacity .3s,transform .3s}.banner-fade-enter-from,.banner-fade-leave-to{opacity:0;transform:translateY(-6px)}.save-indicator{position:fixed;bottom:20px;right:20px;background:#1f2937;color:#f9fafb;padding:8px 14px;border-radius:6px;font-size:13px;pointer-events:none;z-index:100}.save-fade-enter-active,.save-fade-leave-active{transition:opacity .25s,transform .25s}.save-fade-enter-from{opacity:0;transform:translateY(6px)}.save-fade-leave-to{opacity:0}.loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:#9ca3af}.loading-state p{margin:0;font-size:14px}.spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-body{display:flex;flex-direction:column;gap:20px}.step-intro{margin:0;font-size:14px;color:#5b677a;line-height:1.6}.section-label{font-size:14px;font-weight:600;color:#374151;margin:0}.required{color:#dc2626}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:14px;font-weight:500;color:#374151;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.field-hint{font-size:12px;color:#9ca3af;font-weight:400}.field input[type=text],.field input[type=date],.field textarea,.member-name-input,.member-role-input{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}.field textarea{resize:vertical;line-height:1.6}.field input:focus,.field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.field--error input,.field--error textarea{border-color:#dc2626}.input--error{border-color:#dc2626!important}.field-error{font-size:13px;color:#dc2626;margin:0}.members-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.empty-members{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px;border:2px dashed #e5e7eb;border-radius:8px;text-align:center;color:#9ca3af;font-size:14px}.empty-members__icon{font-size:28px}.empty-members p{margin:0}.member-list{display:flex;flex-direction:column;gap:8px}.member-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.member-number{width:22px;height:22px;border-radius:50%;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.member-fields{display:flex;gap:8px;flex:1;flex-wrap:wrap}.member-name-input{flex:1.5;min-width:140px}.member-role-input{flex:1;min-width:120px}.member-name-input:focus,.member-role-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.btn-remove{background:none;border:1px solid #fca5a5;color:#ef4444;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:12px;flex-shrink:0;transition:background .15s}.btn-remove:hover{background:#fee2e2}.btn-add{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-add:hover{background:#dbeafe}.profile-list{display:flex;flex-direction:column;gap:8px}.profile-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;transition:border-color .15s}.profile-item--done{border-color:#bbf7d0;background:#f0fdf4}.profile-item-info{flex:1;min-width:0}.profile-item-name{font-size:14px;font-weight:600;color:#1f2937;margin:0}.profile-item-role{font-size:13px;color:#6b7280;margin:2px 0 0}.profile-done-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.profile-done-dept{font-size:12px;color:#6b7280}.profile-done-badge{font-size:12px;font-weight:600;color:#15803d;background:#dcfce7;padding:2px 8px;border-radius:20px}.btn-fill{padding:7px 14px;border-radius:6px;border:1px solid #2563eb;background:#eff6ff;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-fill:hover:not(:disabled){background:#dbeafe}.btn-fill:disabled{opacity:.5;cursor:not-allowed}.btn-edit{padding:5px 12px;border-radius:6px;border:1px solid #d1fae5;background:#fff;color:#15803d;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.btn-edit:hover:not(:disabled){background:#f0fdf4}.btn-edit:disabled{opacity:.5;cursor:not-allowed}.gate-done{margin:0;font-size:13px;font-weight:500;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:10px 14px}.gate-pending{margin:0;font-size:13px;color:#9ca3af;font-style:italic;padding:4px 0}.member-avatar{width:36px;height:36px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.member-avatar--lg{width:44px;height:44px;font-size:17px}.subwizard-context{background:#f0f9ff;border:1px solid #bae6fd;border-left:4px solid #0ea5e9;border-radius:6px;padding:12px 16px}.subwizard-for{margin:0 0 2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#0369a1}.subwizard-name{margin:0;font-size:15px;font-weight:600;color:#1f2937}.subwizard-role{font-weight:400;color:#6b7280}.summary-team-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px}.summary-team-icon{font-size:28px}.summary-team-name{margin:0 0 2px;font-size:17px;font-weight:700;color:#1f2937}.summary-team-meta{margin:0;font-size:13px;color:#6b7280}.summary-member-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.summary-member-header{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#f8fafc;border-bottom:1px solid #f1f3f7}.summary-member-name{margin:0 0 2px;font-size:15px;font-weight:600;color:#1f2937}.summary-member-role{margin:0;font-size:13px;color:#6b7280}.summary-detail-grid{display:grid;grid-template-columns:110px 1fr;gap:6px 16px;padding:12px 18px;border-bottom:1px solid #f1f3f7;font-size:14px}.summary-key{font-weight:600;color:#6b7280}.summary-longtext-block{padding:12px 18px;border-bottom:1px solid #f1f3f7}.summary-longtext-label{margin:0 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.summary-longtext-body{margin:0;font-size:14px;color:#374151;line-height:1.65;white-space:pre-wrap}.summary-goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.summary-goal-block{padding:12px 18px}.summary-goal-block:first-child{border-right:1px solid #f1f3f7}.summary-goal-label{margin:0 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.result-panel{border-radius:12px;padding:40px 32px;text-align:center}.result-icon{font-size:44px;margin-bottom:12px}.result-panel h2{margin:0 0 8px;font-size:22px}.result-panel p{margin:0 0 24px;font-size:15px;color:#5b677a}.success-panel{background:#f0fdf4;border:1px solid #bbf7d0}.success-panel h2{color:#15803d}.cancel-panel{background:#fafafa;border:1px solid #e5e7eb}.cancel-panel h2{color:#374151}.result-summary{margin-bottom:28px}.result-member-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;overflow:hidden;text-align:left}.result-member-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border-bottom:1px solid #f1f3f7}.result-member-name{margin:0 0 1px;font-size:14px;font-weight:600;color:#1f2937}.result-member-role{margin:0;font-size:12px;color:#6b7280}.result-detail-grid{display:grid;grid-template-columns:100px 1fr;gap:4px 12px;padding:10px 14px;font-size:13px}.result-key{font-weight:600;color:#6b7280}.btn-primary{background:#2563eb;color:#fff;border:none;padding:10px 28px;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}.sessions-title{margin:0 0 14px;font-size:17px;font-weight:700;color:#1f2937}.sessions-list{margin-bottom:28px;display:flex;flex-direction:column;gap:10px}.session-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;transition:border-color .15s,box-shadow .15s}.session-card:hover{border-color:#93c5fd;box-shadow:0 1px 6px #2563eb14}.session-card__icon{font-size:22px;flex-shrink:0}.session-card__info{flex:1;min-width:0}.session-card__team{margin:0 0 3px;font-size:15px;font-weight:600;color:#1f2937}.session-card__meta{margin:0 0 4px;font-size:13px;color:#6b7280}.session-card__key{margin:0;font-size:11px;color:#9ca3af}.session-card__key code{font-size:11px;background:#f3f4f6;padding:1px 4px;border-radius:3px}.session-card__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-resume{padding:7px 16px;border-radius:6px;border:1px solid #2563eb;background:#eff6ff;color:#2563eb;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-resume:hover{background:#dbeafe}.btn-delete-session{background:none;border:1px solid #fca5a5;color:#ef4444;border-radius:6px;padding:6px 10px;cursor:pointer;font-size:14px;transition:background .15s}.btn-delete-session:hover{background:#fee2e2}.empty-sessions{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 24px;border:2px dashed #e5e7eb;border-radius:10px;text-align:center;color:#6b7280;font-size:14px;margin-bottom:24px}.empty-sessions__icon{font-size:36px;margin-bottom:4px}.empty-sessions p{margin:0}.empty-sessions__hint{color:#9ca3af;font-size:13px}.new-session-bar{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.btn-new-session{font-size:15px;padding:11px 24px}.new-session-hint{margin:0;font-size:12px;color:#9ca3af}.wizard-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:8px}.wizard-topbar__right{display:flex;align-items:center;gap:8px}.btn-back-sessions{background:none;border:1px solid #c2d0e5;color:#374151;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-back-sessions:hover{background:#f3f4f6}.restored-badge{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.session-key-chip{font-size:11px;color:#9ca3af;background:#f3f4f6;padding:3px 8px;border-radius:4px}
