.save-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);backdrop-filter:blur(2px)}.save-overlay[hidden]{display:none}.save-overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 48px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.save-overlay-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary)}.save-overlay-content p{margin:0;font-size:.9375rem;font-weight:500;color:var(--text)}.scope-pending-banner{padding:12px 16px;margin-bottom:16px;font-size:.875rem;color:var(--text);background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius-sm)}.theme-dark .scope-pending-banner{background:rgba(251,191,36,0.15);border-color:rgba(251,191,36,0.4)}.scope-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border)}.scope-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:color .15s,background .15s}.scope-tab:hover{color:var(--text);background:var(--input-bg)}.scope-tab--active{color:var(--primary);background:transparent;border-bottom:2px solid var(--primary);margin-bottom:-1px}.scope-tab--active:hover{color:var(--primary)}.scope-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:.75rem;font-weight:600;color:#fff;background:var(--primary);border-radius:9px}.scope-tab--pending .scope-tab-badge{background:var(--error,#dc2626)}.scope-section.scope-panel{padding-bottom:0;margin-bottom:0;border-bottom:0}.scope-section-body{display:flex;flex-direction:column;gap:0}.profile-form{display:flex;flex-direction:column;gap:24px}.profile-form-fields{display:flex;flex-direction:column;gap:18px}.profile-form-field{display:flex;flex-direction:column;gap:6px}.profile-form-label{font-size:.8125rem;font-weight:600;color:var(--text)}.profile-form-label .required{color:var(--error)}.profile-form-input,.profile-form-select{width:100%;max-width:320px;padding:10px 12px;font-size:.9375rem;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:0;appearance:auto;font-family:inherit}.profile-form-input:focus,.profile-form-select:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px rgba(79,70,229,0.15)}.profile-form-input.invalid,.profile-form-select.invalid{border-color:var(--error)}.profile-form-input.invalid:focus,.profile-form-select.invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(220,38,38,0.15)}.profile-form-input[type="number"]::-webkit-inner-spin-button,.profile-form-input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none}.theme-dark .profile-form-input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1)}.profile-form-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:8px;border-top:1px solid var(--border)}.profile-form-actions{display:flex;align-items:center;gap:10px}.profile-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.profile-empty-state[hidden],.profile-view[hidden],.profile-edit-form-container[hidden]{display:none !important}.data-item{padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:24px}.data-item:last-child{padding-bottom:0;border-bottom:0;margin-bottom:0}.data-item .profile-view-fields{margin:0}.data-item-value a{color:var(--primary);text-decoration:underline}.data-item-value a:hover{text-decoration:none}.data-item-image-row{display:flex;align-items:center;gap:10px}.data-item-filename{font-size:.9375rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.data-item-image-toggle{flex-shrink:0;padding:4px 12px;font-size:.8125rem;font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.data-item-image-toggle:hover{background:var(--primary);color:var(--primary-text)}.data-item-image-toggle--active{background:var(--primary);color:var(--primary-text)}.data-item-image{display:block;max-width:100%;max-height:240px;width:auto;height:auto;margin-top:10px;border-radius:var(--radius-sm);object-fit:contain;border:1px solid var(--border)}.data-item-image[hidden]{display:none}.data-item-audio{display:block;width:100%;max-width:320px;height:40px}.profile-form-file{max-width:100%}.file-upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:160px;padding:24px;border:2px dashed var(--border);border-radius:8px;background:var(--input-bg);cursor:pointer;transition:border-color .2s,background .2s}.file-upload-box:hover{border-color:var(--primary);background:rgba(79,70,229,0.04)}.file-upload-box:focus-within{border-color:var(--primary);outline:2px solid rgba(79,70,229,0.3);outline-offset:2px}.file-upload-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden}.file-upload-box--image{position:relative;max-width:400px}.file-upload-icon{display:flex;color:var(--text-muted)}.file-upload-box:hover .file-upload-icon{color:var(--primary)}.file-upload-icon svg{width:48px;height:48px;fill:currentColor}.file-upload-text{font-size:.9375rem;font-weight:500;color:var(--text)}.file-upload-hint{font-size:.8125rem;color:var(--text-muted)}.file-upload-preview{display:none;align-items:center;gap:8px;font-size:.9375rem;font-weight:500;color:var(--text)}.file-upload-filename{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;font-size:1.25rem;line-height:1;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s}.file-upload-clear:hover{color:var(--error);background:rgba(220,38,38,0.08)}.file-upload-box--has-preview .file-upload-preview{display:flex}.file-upload-box--has-preview .file-upload-icon,.file-upload-box--has-preview .file-upload-text,.file-upload-box--has-preview .file-upload-hint{display:none}.audio-record-options{display:flex;flex-direction:column;gap:16px}.audio-choice-group{display:flex;flex-wrap:wrap;gap:12px}.audio-choice-option{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:.9375rem;font-weight:500;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.audio-choice-option:hover{border-color:var(--primary);background:rgba(79,70,229,0.04)}.audio-choice-option input{margin:0}.audio-choice-option:has(input:checked){border-color:var(--primary);background:rgba(79,70,229,0.08)}.audio-record-section{max-width:320px}.audio-read-prompt{margin-bottom:16px;padding:14px 16px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.audio-read-instruction{margin:0 0 8px 0;font-size:.8125rem;font-weight:500;color:var(--text-muted)}.audio-read-text{margin:0;font-size:1rem;font-weight:600;color:var(--text);line-height:1.4}.audio-shortcut-hint{margin:12px 0 0 0;font-size:.8125rem;line-height:1.45;color:var(--text-muted)}.audio-recorder-container{max-width:320px}.audio-recorder-sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.record-button{position:relative;display:flex;align-items:center;justify-content:center;width:120px;height:120px;margin:0 auto;border-radius:50%;background:var(--input-bg);border:2px solid var(--border);cursor:pointer;transition:border-color .2s,background .2s}.record-button:hover{border-color:var(--primary);background:rgba(79,70,229,0.06)}.record-button.toggled{border-color:var(--error);background:rgba(220,38,38,0.08)}.record-button .visualizer{position:absolute;inset:0;border-radius:50%;overflow:hidden}.record-button .visualizer .block{position:absolute;background:var(--primary);border-radius:2px;transition:opacity .05s}.record-button .bevel{position:relative;display:flex;align-items:center;justify-content:center;z-index:1}.record-button .record,.record-button .stop{font-size:48px;color:var(--text-muted)}.record-button:hover .record,.record-button .stop{color:var(--primary)}.record-button.toggled .record,.record-button.toggled .stop{color:var(--error)}.record-bar{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:.875rem;color:var(--text-muted)}.record-bar .button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:24px;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,background .15s}.record-bar .button:hover{color:var(--primary);background:rgba(79,70,229,0.08)}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 48}.profile-form-checkbox{width:auto;max-width:none}.profile-form-checkbox-group{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;padding-top:8px}.profile-form-checkbox-wrap{display:inline-flex;align-items:center;gap:10px;font-size:.9375rem;color:var(--text);cursor:pointer;padding:7px 2px}.profile-form-checkbox-wrap:hover{color:var(--primary)}.profile-form-checkbox-wrap input[type="checkbox"]{margin:0;width:18px;height:18px;flex-shrink:0;accent-color:var(--primary)}.json-schema-form-section{margin-bottom:28px}.json-schema-form-heading{font-size:1.0625rem;font-weight:600;color:var(--text);margin:0 0 20px 0;padding-bottom:10px;border-bottom:1px solid var(--border)}.json-schema-form-section>.json-schema-field{margin-bottom:18px}.json-schema-form-section>.json-schema-field:last-of-type{margin-bottom:0}.json-schema-section{margin-bottom:24px;padding:20px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.json-schema-section:last-child{margin-bottom:0}.json-schema-section .json-schema-section{margin-bottom:16px;margin-top:4px;padding:16px;background:var(--surface);border-color:rgba(0,0,0,0.08)}.theme-dark .json-schema-section .json-schema-section{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.08)}.json-schema-section-title{font-size:.875rem;font-weight:600;color:var(--text);margin:0 0 14px 0;letter-spacing:.01em}.json-schema-section-fields{display:flex;flex-direction:column;gap:18px}.json-schema-field{max-width:420px}.json-schema-field[data-conditional-target][hidden]{display:none !important}.json-schema-checkbox-group{display:flex;flex-direction:column;gap:10px;padding:4px 0}.json-schema-checkbox-wrap{display:inline-flex;align-items:center;gap:10px;font-size:.9375rem;color:var(--text);cursor:pointer;padding:6px 0}.json-schema-checkbox-wrap:hover{color:var(--primary)}.json-schema-checkbox-wrap input{margin:0;width:18px;height:18px;accent-color:var(--primary)}.json-schema-array-list{display:flex;flex-direction:column;gap:20px}.json-schema-array-item{padding:18px 20px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.json-schema-array-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.json-schema-array-item-title{font-size:.875rem;font-weight:600;color:var(--text)}.json-schema-array-remove{padding:6px 12px;font-size:.8125rem;color:var(--error);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s}.json-schema-array-remove:hover{border-color:var(--error)}.json-schema-array-item-fields{display:flex;flex-direction:column;gap:18px}.json-schema-array-add{padding:10px 20px;font-size:.9375rem;font-weight:500;color:var(--primary);background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s}.json-schema-array-add:hover{border-color:var(--primary)}.json-view-wrapper{display:flex;flex-direction:column;gap:20px}.json-view-section{padding:16px 18px;background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.json-view-section .json-view-section{margin-top:12px;padding:14px 16px;background:var(--surface)}.theme-dark .json-view-section .json-view-section{background:rgba(255,255,255,0.03)}.json-view-section-title{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.json-view-section-body{display:flex;flex-direction:column;gap:10px}.json-view-row{display:grid;grid-template-columns:1fr 1.5fr;gap:12px 24px;align-items:baseline;font-size:.9375rem}.json-view-label{font-weight:500;color:var(--text-muted)}.json-view-value{color:var(--text);line-height:1.5}@media(max-width:480px){.json-view-row{grid-template-columns:1fr;gap:2px 0}}.data-item-form-combined{border-bottom:0;margin-bottom:0;padding-bottom:0}.profile-empty-message{font-size:.9375rem;color:var(--text-muted);margin:0}.profile-empty-error{font-size:.8125rem;color:var(--error);margin:0}.profile-fill-btn{padding:10px 24px;font-size:.9375rem;font-weight:600;background:var(--primary);color:var(--primary-text);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;font-family:inherit}.profile-fill-btn:hover{background:var(--primary-hover)}.profile-view{display:flex;flex-direction:column;gap:20px}.profile-view-fields{display:flex;flex-direction:column;gap:14px;margin:0}.profile-view-field{display:flex;flex-direction:column;gap:4px}.profile-view-field-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.profile-view-field-header dt{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin:0}.data-item-edit-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:color .15s,background .15s}.data-item-edit-btn:hover{color:var(--primary);background:rgba(79,70,229,0.08)}.data-item-edit-icon{width:18px;height:18px;fill:currentColor}.data-item-actions{display:flex;align-items:center;gap:2px}.data-item-delete-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:color .15s,background .15s}.data-item-delete-btn:hover{color:var(--error);background:rgba(220,38,38,0.08)}.data-item-delete-icon{width:18px;height:18px;fill:currentColor}.profile-view-field dd{font-size:.9375rem;color:var(--text);margin:0}.profile-edit-btn{padding:10px 24px;font-size:.9375rem;font-weight:600;background:transparent;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s;font-family:inherit;align-self:flex-start}.profile-edit-btn:hover{background:var(--primary);color:var(--primary-text)}.profile-discard-btn{padding:10px 24px;font-size:.9375rem;font-weight:500;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit}.profile-discard-btn:hover{background:var(--border);border-color:var(--text-muted)}.profile-form-status{font-size:.8125rem;min-height:1em;margin:0}.profile-form-status.success{color:var(--success)}.profile-form-status.error{color:var(--error)}.profile-form-save{padding:10px 24px;font-size:.9375rem;font-weight:600;background:var(--primary);color:var(--primary-text);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.profile-form-save:hover:not(:disabled){background:var(--primary-hover)}.profile-form-save:disabled{opacity:.6;cursor:not-allowed}.status-msg{display:none;margin-top:14px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.5}.status-msg.visible{display:block}.status-msg.info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.status-msg.error{background:#fef2f2;color:var(--error);border:1px solid #fecaca}.status-msg.success{background:#f0fdf4;color:var(--success);border:1px solid #bbf7d0}.theme-dark .status-msg.info{background:rgba(29,78,216,0.15);color:#93c5fd;border-color:rgba(29,78,216,0.3)}.theme-dark .status-msg.error{background:rgba(220,38,38,0.15);border-color:rgba(220,38,38,0.3)}.theme-dark .status-msg.success{background:rgba(22,163,74,0.15);border-color:rgba(22,163,74,0.3)}.confirm-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-modal[hidden]{display:none}.confirm-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.4)}.confirm-modal-dialog{position:relative;background:var(--surface);border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,0.2);padding:24px;max-width:360px;width:100%}.confirm-modal-title{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 8px}.confirm-modal-desc{font-size:.9375rem;color:var(--text-muted);margin:0 0 20px;line-height:1.5}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-modal-btn{padding:8px 18px;font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;font-family:inherit}.confirm-modal-cancel{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.confirm-modal-cancel:hover{background:var(--border)}.confirm-modal-confirm{background:var(--primary);color:var(--primary-text);border:0}.confirm-modal-confirm:hover{background:var(--primary-hover)}.confirm-modal-confirm--danger{background:var(--error,#dc2626);color:#fff}.confirm-modal-confirm--danger:hover{background:#b91c1c}.confirm-modal-list{margin:0 0 16px;padding-left:20px;font-size:.9375rem;color:var(--text);line-height:1.6}@media(max-width:640px){.page-main{display:flex;flex-direction:column;min-height:0}.content-area{max-width:none;flex:1;min-height:0;display:flex;flex-direction:column}.section-card{background:transparent;box-shadow:none;border-radius:0;margin:0;flex:1;min-height:0;display:flex;flex-direction:column}.section-header{padding:16px 0 12px;border-bottom:1px solid var(--border)}.section-body{flex:1;min-height:0;overflow-y:auto;padding:16px 0 24px}.data-item{padding:16px 0;margin-bottom:0}.data-item:last-child{padding-bottom:0;border-bottom:0}}