:root{--color-bg: #f5f5f5;--color-card: #ffffff;--color-card-soft: #f8fbfc;--color-line: rgba(0, 0, 0, .12);--color-line-strong: rgba(0, 0, 0, .2);--color-text: #000000;--color-text-muted: rgba(0, 0, 0, .8);--color-text-soft: rgba(0, 0, 0, .6);--color-primary: #2468fe;--color-primary-soft: rgba(136, 169, 202, .3);--color-footer: #2a2829;--radius-card: 24px;--radius-control: 8px;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans)}img{display:block;max-width:100%}button,input,textarea{font:inherit}button{background:none;border:0;color:inherit;cursor:pointer;margin:0;padding:0}textarea{resize:none}.app-shell{display:flex;flex-direction:column;gap:24px;min-height:100vh}.top-nav{align-items:center;background:var(--color-card);border-bottom:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;min-height:80px;padding:0 32px}.brand-lockup{align-items:center;display:flex;gap:12px}.brand-lockup__mark{flex:0 0 auto;height:34px;width:34px}.brand-lockup__wordmark{flex:0 0 auto;height:19px;width:105px}.brand-lockup__divider{background:#0000001f;flex:0 0 auto;height:23px;width:1px}.brand-lockup__product{font-size:16px;font-weight:500;line-height:1}.top-nav__links{align-items:center;display:flex;gap:24px}.nav-link,.logout-button{align-items:center;display:inline-flex;gap:4px;min-height:24px}.nav-link,.logout-button{font-size:16px;font-weight:500;line-height:1}.app-main{display:flex;padding:0 40px}.sidebar-card,.workspace-card{background:var(--color-card);border-radius:var(--radius-card);overflow:clip}.sidebar-card{display:flex;flex:0 0 300px;flex-direction:column;gap:24px;padding:24px 22px}.workspace-card{display:flex;flex:1 1 auto;flex-direction:column;gap:24px;min-width:0;padding:24px;width:100%}.sidebar-divider,.section-divider{background:var(--color-line);height:1px;width:100%}.sidebar-list{display:flex;flex-direction:column;gap:20px}.case-card{border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:0;text-align:left}.case-card__header{align-items:center;display:flex;justify-content:space-between}.case-card h2{font-size:16px;font-weight:600;line-height:normal;margin:0}.case-card__actions{align-items:center;display:flex;gap:8px;opacity:.5}.case-card__actions button,.file-row__actions button,.app-footer__links button{color:var(--color-text-soft)}.case-card__actions button:hover,.file-row__actions button:hover,.app-footer__links button:hover{color:var(--color-primary)}.case-card__patient{align-items:center;border:1px solid #d1d1d1;border-radius:var(--radius-control);color:var(--color-text-soft);display:flex;font-size:14px;height:40px;padding:8px 12px}.workspace-header{align-items:center;display:flex;justify-content:space-between}.workspace-header h1{font-size:24px;font-weight:600;line-height:normal;margin:0}.workspace-header__toggle{align-items:center;display:flex;gap:8px;font-size:14px;line-height:normal}.service-status{border:1px solid;border-left-width:6px;border-radius:16px;display:grid;gap:6px;padding:14px 16px}.service-status--maintenance{background:#fff7ed;border-color:#fdba74;border-left-color:#c2410c}.service-status--degraded{background:#fffbeb;border-color:#fcd34d;border-left-color:#d97706}.service-status__title,.service-status__message,.service-status__detail{margin:0}.service-status__title{font-size:14px;font-weight:700}.service-status__message{font-size:14px;line-height:1.5}.service-status__detail{color:var(--color-text-muted);font-size:13px;line-height:1.45}.toggle{background:#0000002e;border-radius:500px;height:24px;padding:3px;position:relative;transition:background-color .15s ease;width:40px}.toggle.is-on{background:var(--color-primary)}.toggle__thumb{background:#fff;border-radius:50%;display:block;height:18px;transform:translate(0);transition:transform .15s ease;width:18px}.toggle.is-on .toggle__thumb{transform:translate(16px)}.workspace-sections{display:flex;flex-direction:column;gap:16px}.step-card{background:var(--color-card-soft);border:1px solid var(--color-line);display:flex;flex-direction:column;gap:24px;padding:24px}.step-card--xl{border-radius:24px}.step-card--md{border-radius:16px}.step-card__head{display:flex;flex-direction:column;gap:8px}.step-card__title{align-items:center;display:flex;gap:8px}.step-card__title h2{font-size:18px;font-weight:600;line-height:normal;margin:0}.step-card__description{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0}.step-badge{align-items:center;background:#fff;border:1px solid var(--color-line);border-radius:555px;display:inline-flex;font-size:18px;font-weight:600;height:32px;justify-content:center;width:32px}.icon-svg{display:block;fill:none;height:24px;width:24px}.text-entry,.field input,.modal-textarea{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-control);color:var(--color-text);transition:border-color .12s ease,box-shadow .12s ease}.text-entry::placeholder,.field input::placeholder{color:var(--color-text-soft)}.text-entry:focus,.field input:focus,.modal-textarea:focus{border-color:#2468fe59;box-shadow:0 0 0 3px #2468fe14;outline:none}.field{display:flex;flex-direction:column;gap:8px;margin:0;width:100%}.field__label{color:var(--color-text-muted);font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1.4}.upload-section,.action-section,.result-section{display:flex;flex-direction:column;gap:16px;width:100%}.text-entry{height:80px;min-height:80px;max-width:100%;padding:12px;width:100%}.upload-actions,.action-options,.result-actions,.result-footer,.billing-row,.file-row,.file-row__actions{align-items:center;display:flex}.upload-actions{gap:8px}.file-list{display:flex;flex-direction:column;gap:8px;width:100%}.file-row{gap:16px;justify-content:space-between}.file-row__actions{gap:16px}.file-row__actions button{align-items:center;display:inline-flex;gap:4px;min-height:24px}.file-chip{align-items:center;background:#fff;border:1px solid var(--color-line);border-radius:999px;display:inline-flex;gap:8px;min-height:32px;padding:4px 8px}.file-chip button{align-items:center;color:var(--color-text-soft);display:inline-flex;justify-content:center}.file-chip__pending{align-items:center;color:var(--color-primary);display:inline-flex}.file-chip__pending .icon-svg{animation:hourglass-pulse 1.1s ease-in-out infinite;transform-origin:50% 50%}@keyframes hourglass-pulse{0%,to{opacity:.65;transform:scale(.96) rotate(0)}50%{opacity:1;transform:scale(1.04) rotate(4deg)}}.helper-text,.billing-row{color:var(--color-text-muted)}.helper-text{font-size:14px;line-height:16px;margin:0}.action-options{flex-wrap:wrap;gap:24px}.action-footer{align-items:flex-start;display:flex;flex-direction:column;gap:8px;justify-content:flex-start}.action-footer__disabled-reason{color:#9a3412;font-size:13px;line-height:1.45;margin:0}.choice-pill{align-items:center;cursor:pointer;display:inline-flex;gap:8px}.choice-pill input{display:none}.choice-pill__indicator{background:#fff;border:1.5px solid var(--color-line);border-radius:999px;display:inline-block;flex:none;height:24px;position:relative;width:24px}.choice-pill.is-selected .choice-pill__indicator{border-color:#2468fe66}.choice-pill.is-selected .choice-pill__indicator:after{background:var(--color-primary);border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.choice-pill.is-disabled{cursor:not-allowed;opacity:.45}.progress-panel{background:#2468fe0a;border:1px solid rgba(36,104,254,.12);border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:16px}.progress-panel__meta,.result-toolbar{align-items:flex-start;display:flex;justify-content:space-between;gap:16px}.progress-panel__eyebrow,.result-toolbar__eyebrow{color:var(--color-text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 4px;text-transform:uppercase}.progress-panel__label,.result-toolbar__title{font-size:16px;font-weight:700;margin:0}.progress-panel__percent{align-items:center;background:#fff;border:1px solid rgba(36,104,254,.16);border-radius:999px;color:var(--color-primary);display:inline-flex;font-size:13px;font-weight:700;min-height:28px;padding:0 10px}.progress-panel__phase{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0}.progress-bar{background:#2468fe1f;border-radius:999px;height:10px;overflow:hidden}.progress-bar__fill{background:linear-gradient(90deg,var(--color-primary),#64a4ff);border-radius:inherit;height:100%}.result-toolbar{align-items:center}.result-actions{gap:8px}.result-table-wrap{border:1px solid var(--color-line);border-radius:16px;overflow:hidden}.result-table{border-collapse:collapse;width:100%}.result-table th,.result-table td{border-bottom:1px solid var(--color-line);padding:14px 16px;text-align:left;vertical-align:top}.result-table th{background:#2468fe08;font-size:14px;font-weight:700;width:33%}.result-table td{font-size:14px;line-height:1.55}.result-table tr:last-child th,.result-table tr:last-child td{border-bottom:0}.result-table__empty{color:var(--color-text-soft)}.quality-gate{border:1px solid var(--color-line);border-left:6px solid #64748b;border-radius:16px;display:grid;gap:10px;padding:16px}.quality-gate--pass{background:#f4fbf7;border-left-color:#15803d}.quality-gate--suspect{background:#fffaf0;border-left-color:#d97706}.quality-gate--fail{background:#fff7f7;border-left-color:#dc2626}.quality-gate__header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.quality-gate__eyebrow{color:var(--color-text-muted);font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 4px;text-transform:uppercase}.quality-gate__title{font-size:16px;font-weight:750;margin:0}.quality-gate__score{border:1px solid rgba(15,23,42,.12);border-radius:999px;color:var(--color-text-muted);flex:0 0 auto;font-size:13px;font-weight:700;padding:5px 10px}.quality-gate__summary{color:var(--color-text);font-size:14px;line-height:1.5;margin:0}.quality-gate__meta{display:flex;flex-wrap:wrap;gap:8px}.quality-gate__meta span{background:#ffffffb8;border:1px solid rgba(15,23,42,.08);border-radius:999px;color:var(--color-text-muted);font-size:12px;font-weight:700;padding:5px 10px}.quality-gate__flags{display:grid;gap:8px;list-style:none;margin:0;padding:0}.quality-gate__flags li{display:grid;gap:3px}.quality-gate__flags strong{font-size:12px}.quality-gate__flags span{color:var(--color-text-muted);font-size:13px;line-height:1.45}.result-error{background:#fff7f7;border:1px solid #f4b4b4;border-left:6px solid #dc2626;border-radius:16px;display:grid;gap:8px;padding:16px}.result-error__eyebrow{color:#b91c1c;font-size:12px;font-weight:700;letter-spacing:.02em;margin:0;text-transform:uppercase}.result-error__message{color:#7f1d1d;font-size:15px;line-height:1.6;margin:0}.result-error__hint{color:#b45309;font-size:13px;margin:0}.result-status-banner{background:#f8fafc;border:1px solid #cbd5e1;border-left:6px solid #64748b;border-radius:16px;display:grid;gap:8px;padding:16px}.result-status-banner--warning{background:#fffbeb;border-color:#fbd38d;border-left-color:#d97706}.result-status-banner__eyebrow{color:#334155;font-size:12px;font-weight:700;letter-spacing:.02em;margin:0;text-transform:uppercase}.result-status-banner__message{color:#0f172a;font-size:15px;line-height:1.6;margin:0}.result-status-banner__hint{color:#475569;font-size:13px;line-height:1.5;margin:0}.result-raw{font-size:15px;line-height:1.6;margin:0;white-space:pre-wrap}.result-feedback{color:var(--color-text-muted);font-size:13px;margin:0}.result-feedback--error{color:#b45309}.modal-backdrop{align-items:center;background:#0f172a73;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:50}.modal-card{background:#fff;border:1px solid var(--color-line);border-radius:20px;box-shadow:0 20px 60px #0f172a33;display:flex;flex-direction:column;gap:16px;max-width:720px;padding:20px;width:min(720px,100%)}.modal-card__header{align-items:flex-start;display:flex;justify-content:space-between;gap:16px}.modal-card__eyebrow{color:var(--color-primary);font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 6px;text-transform:uppercase}.modal-card__title{font-size:20px;margin:0}.modal-card__body{display:flex;flex-direction:column;gap:16px}.modal-textarea{min-height:320px;width:100%}.modal-card__footer{align-items:center;display:flex;gap:8px;justify-content:flex-end}.recording-modal{max-width:760px}.recording-panel{align-items:center;background:#f8fafc;border:1px solid var(--color-line);border-radius:12px;display:flex;gap:16px;padding:16px}.recording-meter{align-items:center;background:#fff;border:1px solid var(--color-line);border-radius:999px;color:var(--color-primary);display:inline-flex;height:48px;justify-content:center;width:48px}.recording-meter[data-active=true]{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.recording-time{color:var(--color-text);font-size:28px;font-weight:700;line-height:1;margin:0 0 6px}.recording-status{color:var(--color-text-muted);font-size:13px;margin:0}.recording-actions{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.recording-segments{display:flex;flex-direction:column;gap:8px}.recording-segment{align-items:center;border:1px solid var(--color-line);border-radius:10px;color:var(--color-text-muted);display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;min-height:40px;padding:8px 10px}.recording-segment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recording-segment strong{color:var(--color-text);font-size:12px;font-weight:700}.recording-segment[data-status=ready]{border-color:#bbf7d0}.recording-segment[data-status=error]{border-color:#fed7aa}.recording-transcript-preview{min-height:180px}.billing-row{flex-wrap:wrap;font-size:14px;gap:16px}.result-footer{gap:8px;justify-content:flex-start}.button{align-items:center;border-radius:8px;display:inline-flex;font-size:14px;font-weight:600;gap:6px;height:40px;justify-content:center;line-height:normal;padding:8px 12px;transition:background-color .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease}.button:disabled{cursor:default;opacity:.45}.button--block{width:100%}.button--primary{background:var(--color-primary);color:#fff}.button--primary:hover:not(:disabled){background:#185af0}.button--secondary{background:#fff;border:1.5px solid var(--color-primary-soft);color:var(--color-primary)}.button--secondary:hover:not(:disabled),.button--ghost:hover:not(:disabled){border-color:#2468fe59;color:#185af0}.button--ghost{background:#fff;border:1px solid var(--color-line);color:var(--color-text)}.icon-button{align-items:center;border-radius:8px;display:inline-flex;height:24px;justify-content:center;width:24px}.icon-button:disabled{cursor:default;opacity:.4}.icon-button--plain{color:var(--color-text)}.app-footer-wrap{margin-top:auto;padding-top:40px}.app-footer{width:100%}.app-footer{background:var(--color-footer);color:#fffc;display:flex;justify-content:space-between;padding:49px 56px}.app-footer p{font-size:14px;font-weight:500;line-height:24px;margin:0}.app-footer__links{align-items:center;display:flex;gap:40px}.app-footer__links button{color:inherit;font-size:14px;font-weight:500;line-height:24px}@media(max-width:1120px){.text-entry{width:100%}}@media(max-width:760px){.app-shell{gap:16px}.top-nav,.app-main{padding-left:16px;padding-right:16px}.top-nav{align-items:flex-start;flex-direction:column;gap:16px;padding-bottom:16px;padding-top:16px}.top-nav__links,.workspace-header,.file-row,.app-footer{align-items:flex-start;flex-direction:column}.workspace-header,.file-row,.file-row__actions,.app-footer__links{gap:12px}.app-footer{padding:32px 16px}}.template-picker{display:flex;flex-direction:column;gap:10px}.template-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-card);cursor:pointer}.template-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.template-option.is-selected>.choice-pill__indicator,.template-option--group.is-selected>.template-option__header>.choice-pill__indicator{border-color:#2468fe66}.template-option.is-selected>.choice-pill__indicator:after,.template-option--group.is-selected>.template-option__header>.choice-pill__indicator:after{background:var(--color-primary);border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.template-option input{position:absolute;opacity:0;pointer-events:none}.template-option__text{display:flex;flex-direction:column;gap:2px}.template-option__label{font-weight:600}.template-option__description{color:var(--color-text-soft);font-size:.92rem}.template-option--group{flex-direction:column;align-items:stretch;gap:8px}.template-option__header{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.template-option__children{display:flex;flex-direction:column;gap:8px;padding-left:30px}.template-option--child{padding:10px 12px}.version-chip{align-items:center;background:#fff;border:1px solid var(--color-line);border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:4px 10px;white-space:nowrap}.version-chip--edited{border-color:#2468fe4d;color:var(--color-primary)}.helper-text{color:var(--color-text-muted);font-size:14px;margin:0}.banner{border:1px solid;border-left-width:6px;border-radius:16px;display:grid;gap:6px;padding:14px 16px}.banner--warn{background:#fffbeb;border-color:#fcd34d;border-left-color:#d97706}.banner p{margin:0}.banner__title{font-size:14px;font-weight:700}.banner__msg{font-size:14px;line-height:1.5}.cell-view{border-radius:10px;cursor:text;display:block;margin:-6px -8px;padding:6px 32px 6px 8px;position:relative;white-space:pre-wrap;word-break:break-word}.cell-view--readonly{cursor:default;padding-right:8px}.cell-view:not(.cell-view--readonly):hover,.cell-view:not(.cell-view--readonly):focus-visible{background:#2468fe0f;outline:none}.cell-view.is-changed{background:#2468fe0d;box-shadow:inset 3px 0 0 var(--color-primary)}.cell-hint{color:var(--color-text-soft);opacity:0;position:absolute;right:8px;top:6px;transition:opacity .12s ease}.cell-hint svg{height:15px;width:15px}.cell-view:hover .cell-hint,.cell-view:focus-visible .cell-hint{opacity:1}.changed-row{align-items:center;display:flex;gap:8px;margin-top:8px}.changed-chip{background:#2468fe1a;border-radius:6px;color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 6px;text-transform:uppercase}.cell-revert{background:none;border:0;color:var(--color-text-soft);cursor:pointer;font-size:12.5px;padding:0;text-decoration:underline}.cell-revert:hover{color:var(--color-text)}.cell-editwrap{display:flex;flex-direction:column;gap:8px}.cell-edit{border:1.5px solid var(--color-primary);border-radius:10px;font-size:14px;line-height:1.55;min-height:72px;padding:8px 10px;resize:vertical;width:100%}.cell-edit:focus{box-shadow:0 0 0 3px #2468fe2e;outline:none}.cell-editactions{display:flex;gap:8px}.cell-btn{min-height:32px;padding:0 12px}.save-bar{align-items:center;background:#2468fe0f;border:1px solid rgba(36,104,254,.2);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:10px 14px}.save-bar__count{font-size:14px}.save-bar__actions{display:flex;flex-wrap:wrap;gap:8px}.approve-panel{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.approve-panel .button svg{height:16px;margin-right:6px;vertical-align:-3px;width:16px}.approve-hint{color:var(--color-text-soft);font-size:13px;margin:0;max-width:60ch}.approved-chip{align-items:center;background:#f4fbf7;border:1px solid rgba(21,128,61,.3);border-radius:999px;color:#15803d;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:6px 12px}.result-inline-error{margin:0}.delivery-section{display:flex;flex-direction:column;gap:16px}.locked-note{align-items:center;background:#fff;border:1px dashed var(--color-line);border-radius:12px;color:var(--color-text-soft);display:flex;font-size:14px;gap:10px;padding:14px 16px}.delivery-start{display:flex;flex-direction:column;gap:8px}.delivery-progress{display:flex;flex-direction:column;gap:16px}.delivery-summary{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.delivery-count{font-size:14px;font-variant-numeric:tabular-nums;font-weight:700;margin:0}.delivery-list{display:flex;flex-direction:column;gap:8px}.doc-row{align-items:center;background:#fff;border:1px solid var(--color-line);border-radius:12px;display:grid;gap:6px 12px;grid-template-columns:28px minmax(0,1fr) auto;min-height:52px;padding:10px 14px}.doc-row[data-status=done]{border-color:#bbf7d0}.doc-row[data-status=qc]{background:#fffbeb;border-color:#fcd34d}.doc-row__status{align-items:center;display:inline-flex;height:24px;justify-content:center;width:24px}.doc-row__status--done{color:#15803d}.doc-row__status--queued{color:var(--color-text-soft)}.doc-row__status--qc{color:#d97706}.doc-row__body{display:flex;flex-direction:column;gap:2px;min-width:0}.doc-row__name{font-size:14px;font-weight:600}.doc-row__note{color:var(--color-text-soft);font-size:12.5px}.doc-row__note--qc{color:#92400e}.doc-row__right{align-items:center;display:flex;gap:6px;justify-content:flex-end}.fmt-chip{background:var(--color-card-soft);border:1px solid var(--color-line);border-radius:6px;color:var(--color-text-soft);font-size:11px;font-weight:700;padding:2px 6px}.doc-row[data-status=done] .fmt-chip{background:#fff;color:var(--color-text-muted)}.delivery-footer{display:flex;flex-direction:column;gap:12px}.delivery-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.delivery-actions .button svg{height:16px;margin-right:6px;vertical-align:-3px;width:16px}.channels{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.channels__label{color:var(--color-text-soft);font-size:13px;margin:0 4px 0 0}@media(max-width:760px){.result-table,.result-table tbody,.result-table tr,.result-table th,.result-table td{display:block;width:100%}.result-table th{border-bottom:0;padding:14px 16px 2px}.result-table td{border-bottom:1px solid var(--color-line);padding:6px 16px 14px}.result-table tr:last-child td{border-bottom:0}}@media(max-width:720px){.doc-row{grid-template-columns:28px minmax(0,1fr)}.doc-row__right{grid-column:2;justify-content:flex-start}}
