*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-body: "DM Sans", system-ui, sans-serif;--font-serif: "DM Serif Display", Georgia, serif;--c-bg: #f9f8f6;--c-surface: #ffffff;--c-border: #e8e5e0;--c-border-md: #d4d0c9;--c-text: #1a1917;--c-muted: #6b6860;--c-subtle: #9c9890;--c-accent: #2c4a6e;--c-accent-lt: #e8eef5;--c-accent-md: #5a7fa8;--c-success: #1e6b45;--c-success-bg:#e8f5ee;--c-warn: #7a4f1a;--c-warn-bg: #fef3e2;--c-error: #8b1d1d;--c-error-bg: #fde8e8;--c-info: #1a4a7a;--c-info-bg: #e8f0fb;--c-intake: #1a5c8a;--c-intake-bg: #e3f0f9;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.05);--transition: .15s ease}html,body,#root{height:100%;background:var(--c-bg);color:var(--c-text);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}.widget-shell{display:flex;flex-direction:column;min-height:100vh}.widget-header{background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:0 24px;height:56px;display:flex;align-items:center;gap:12px;flex-shrink:0}.widget-header__logo{font-family:var(--font-serif);font-size:18px;color:var(--c-accent);letter-spacing:-.02em}.widget-header__divider{width:1px;height:20px;background:var(--c-border)}.widget-header__title{font-size:13px;color:var(--c-muted);font-weight:500}.widget-body{flex:1;padding:28px 24px;max-width:860px;width:100%;margin:0 auto}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.card+.card{margin-top:16px}.card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:12px}.card__title{font-family:var(--font-serif);font-size:17px;color:var(--c-text);line-height:1.3}.card__desc{font-size:13px;color:var(--c-muted);margin-top:3px;line-height:1.5}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all var(--transition);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.btn-primary:hover:not(:disabled){background:#243f5e;border-color:#243f5e}.btn-outline{background:transparent;color:var(--c-accent);border-color:var(--c-border-md)}.btn-outline:hover:not(:disabled){background:var(--c-accent-lt);border-color:var(--c-accent-md)}.btn-ghost{background:transparent;color:var(--c-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--c-bg);color:var(--c-text)}.btn-danger{background:var(--c-error-bg);color:var(--c-error);border-color:#f0c0c0}.btn-danger:hover:not(:disabled){background:#fbdada}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:11px 22px;font-size:14px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.badge:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.badge-blue{background:var(--c-info-bg);color:var(--c-info)}.badge-amber{background:var(--c-warn-bg);color:var(--c-warn)}.badge-purple{background:#f0edfb;color:#5b3fa8}.badge-gray{background:#f0efec;color:var(--c-muted)}.badge-green{background:var(--c-success-bg);color:var(--c-success)}.badge-red{background:var(--c-error-bg);color:var(--c-error)}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:18px}.form-group:last-child{margin-bottom:0}.form-label{font-size:12px;font-weight:600;color:var(--c-text);letter-spacing:.02em;text-transform:uppercase;display:flex;align-items:center;gap:6px}.form-label .required{color:#c0392b}.form-hint{font-size:12px;color:var(--c-muted);line-height:1.45}.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;border:1px solid var(--c-border-md);border-radius:var(--radius-md);background:var(--c-surface);color:var(--c-text);font-family:var(--font-body);font-size:14px;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--c-accent-md);box-shadow:0 0 0 3px #2c4a6e1a}.form-input.prefilled,.form-textarea.prefilled{background:var(--c-intake-bg);border-color:#b8d8ed;color:var(--c-intake)}.form-textarea{min-height:96px;resize:vertical}.form-textarea.large{min-height:180px}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239c9890' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.toggle-wrap{display:flex;align-items:center;gap:10px}.toggle{position:relative;width:40px;height:22px;cursor:pointer}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--c-border-md);border-radius:11px;transition:background var(--transition)}.toggle input:checked+.toggle-track{background:var(--c-accent)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform var(--transition)}.toggle input:checked~.toggle-thumb{transform:translate(18px)}.source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.source-badge.cognito{background:var(--c-intake-bg);color:var(--c-intake)}.source-badge.default{background:#eef2f7;color:#4a6a8a}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition)}.checkbox-item:hover{border-color:var(--c-accent-md);background:var(--c-accent-lt)}.checkbox-item.checked{border-color:var(--c-accent);background:var(--c-accent-lt)}.checkbox-item input[type=checkbox]{margin-top:2px;accent-color:var(--c-accent);width:15px;height:15px;cursor:pointer}.checkbox-item__label{font-size:13px;font-weight:500;color:var(--c-text)}.checkbox-item__desc{font-size:12px;color:var(--c-muted);margin-top:2px}.repeat-item{border:1px solid var(--c-border);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;position:relative;background:var(--c-bg)}.repeat-item__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.repeat-item__label{font-size:12px;font-weight:600;color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);border-bottom:1px solid var(--c-border);white-space:nowrap}td{padding:12px 14px;border-bottom:1px solid var(--c-border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--c-bg)}.steps{display:flex;align-items:center;gap:0;margin-bottom:28px}.step{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--c-subtle)}.step.active{color:var(--c-accent)}.step.done{color:var(--c-success)}.step__num{width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.step.done .step__num{background:var(--c-success);border-color:var(--c-success);color:#fff}.step.active .step__num{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.step__connector{flex:1;height:1px;background:var(--c-border);margin:0 8px;min-width:24px}.alert{padding:12px 16px;border-radius:var(--radius-md);font-size:13px;line-height:1.5;border:1px solid transparent;margin-bottom:16px}.alert-warn{background:var(--c-warn-bg);color:var(--c-warn);border-color:#f0d5a8}.alert-error{background:var(--c-error-bg);color:var(--c-error);border-color:#f0b8b8}.alert-info{background:var(--c-info-bg);color:var(--c-info);border-color:#b8d0f0}.alert-success{background:var(--c-success-bg);color:var(--c-success);border-color:#a8d8bc}.alert__title{font-weight:600;margin-bottom:6px}.flag-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:8px}.flag-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:#fff9;border-radius:var(--radius-sm);font-size:12px}.flag-item input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--c-warn)}.page-title{font-family:var(--font-serif);font-size:24px;color:var(--c-text);letter-spacing:-.02em;line-height:1.2}.page-subtitle{font-size:13px;color:var(--c-muted);margin-top:4px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:16px}.empty-state{text-align:center;padding:60px 20px;color:var(--c-muted)}.empty-state__icon{font-size:36px;margin-bottom:12px;opacity:.4}.empty-state__title{font-size:16px;font-weight:500;color:var(--c-text);margin-bottom:6px}.empty-state__desc{font-size:13px}.spinner{width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}.divider{height:1px;background:var(--c-border);margin:24px 0}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--c-muted);text-decoration:none;margin-bottom:20px;transition:color var(--transition)}.back-link:hover{color:var(--c-accent)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 600px){.two-col,.three-col{grid-template-columns:1fr}}.form-input.skipped,.form-textarea.skipped{border-color:#f0d5a8;background:var(--c-warn-bg);color:var(--c-warn);font-style:italic}
