.pleading-app { --pl-accent: #227c80; --pl-soft: #e8f5f3; --pl-line: #dbe3ed; color: #283445; min-width: 0; }
.pleading-app *, .pleading-app *::before, .pleading-app *::after { box-sizing: border-box; }
.pleading-app [hidden] { display: none !important; }
.pleading-app button, .pleading-app input, .pleading-app textarea, .pleading-app select { font: inherit; }
.pleading-app svg { display: block; width: 17px; height: 17px; flex: 0 0 17px; stroke-width: 1.7; }
.pleading-app h2 { margin: 0; padding: 0; border: 0; font-size: 17px; line-height: 1.6; font-weight: 600; }
.pleading-app h3 { font-size: 14px; font-weight: 600; }
.pl-steps { display: flex; gap: 0; padding: 0 0 22px; margin: 0 0 20px; border-bottom: 1px solid var(--pl-line); list-style: none; }
.pl-steps li { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; color: #8a98aa; font-size: 12px; }
.pl-steps li span { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; border: 1px solid #d6e0eb; border-radius: 4px; font-variant-numeric: tabular-nums; }
.pl-steps li.active { color: var(--pl-accent); font-weight: 600; }
.pl-steps li.active span { color: #fff; background: var(--pl-accent); border-color: var(--pl-accent); }
.pl-service { padding: 10px 14px; margin-bottom: 24px; background: #f2f5f9; border-left: 3px solid #aab9cb; color: #6b7c91; font-size: 12px; line-height: 1.8; }
.pl-service.ready { background: var(--pl-soft); color: #2b726f; border-color: var(--pl-accent); }
.pl-message { padding: 11px 14px; margin: 0 0 22px; border-left: 3px solid #287957; color: #287957; background: #eef7f1; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.pl-message:empty { display: none; }
.pl-message.is-error { border-color: #a54e47; background: #faeeeb; color: #a54e47; }
.pl-layout { display: grid; grid-template-columns: minmax(0,1fr) 272px; align-items: start; gap: 26px; }
.pl-main { min-width: 0; }
.pl-case-options { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0 0 24px; border: 0; min-width: 0; }
.pl-case-options legend { margin-bottom: 10px; color: #506681; font-size: 13px; font-weight: 600; }
.pl-case-options label { position: relative; flex: 1; min-width: 95px; cursor: pointer; }
.pl-case-options input { position: absolute; top: 12px; left: 12px; width: 15px; height: 15px; min-height: 0; margin: 0; accent-color: var(--pl-accent); }
.pl-case-options label span { display: block; padding: 9px 10px 9px 34px; min-height: 40px; border: 1px solid #d3dfeb; border-radius: 4px; color: #60758f; background: #f7f9fc; font-size: 12px; }
.pl-case-options input:checked + span { border-color: var(--pl-accent); color: var(--pl-accent); background: var(--pl-soft); font-weight: 600; }
.pl-upload-area { padding: 26px 20px 22px; margin-bottom: 20px; border: 1px dashed #a6c4cc; border-radius: 6px; background: #f4faf9; text-align: center; }
.pl-upload-picker { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; min-height: 42px; border: 1px solid var(--pl-accent); border-radius: 4px; background: #fff; color: var(--pl-accent); cursor: pointer; font-size: 13px; font-weight: 500; }
.pl-upload-picker:hover { background: var(--pl-soft); }
.pl-file-limits { color: #7b90a5; margin: 12px 0 0; font-size: 11px; line-height: 1.8; }
.pl-file-limits + .pl-file-limits { margin-top: 5px; }
.pl-files { display: grid; gap: 10px; margin-bottom: 24px; }
.pl-files:empty { display: none; }
.pl-file { display: grid; grid-template-columns: 28px minmax(0,1fr) 30px; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--pl-line); border-radius: 4px; }
.pl-file-symbol { color: #326b9b; }
.pl-file-name { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; padding: 0; border: 0; background: transparent; color: #3b536d; cursor: pointer; text-align: left; }
.pl-file-name strong { max-width: 100%; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.pl-file-name small { color: #8294aa; font-size: 11px; }
.pl-file-warning { grid-column: 1 / -1; padding-top: 8px; margin: 0; border-top: 1px solid #e4e9f1; color: #946923; font-size: 11px; }
.pl-label { display: grid; gap: 9px; margin: 0; color: #506681; font-size: 13px; font-weight: 500; min-width: 0; }
.pleading-app input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), .pleading-app textarea, .pleading-app select { width: 100%; min-width: 0; min-height: 41px; padding: 10px 12px; border: 1px solid #c9d5e3; border-radius: 4px; background: #fff; color: #283445; font-size: 13px; font-weight: 400; line-height: 1.8; }
.pleading-app textarea { resize: vertical; min-height: 92px; }
.pleading-app input:focus-visible, .pleading-app textarea:focus-visible, .pleading-app select:focus-visible, .pleading-app button:focus-visible, .pl-upload-picker:focus-visible { outline: 2px solid var(--pl-accent); outline-offset: 2px; }
.pl-legal-note { padding: 11px 14px; margin: 18px 0; border-left: 3px solid #d7b76e; background: #fff8e9; color: #816a36; font-size: 11px; line-height: 1.9; }
.pl-check { display: flex; align-items: flex-start; gap: 9px; min-width: 0; color: #677c95; font-size: 12px; line-height: 1.9; font-weight: 400; }
.pl-check input { flex: 0 0 16px; width: 16px; height: 16px; min-height: 0; padding: 0; margin: 4px 0 0; accent-color: var(--pl-accent); }
.pl-consent { margin-top: 22px; }
.pl-privacy { margin-top: 12px; color: #8193a9; font-size: 11px; }
.pl-privacy summary { cursor: pointer; }
.pl-privacy p { color: #71859d; line-height: 1.9; margin: 12px 0; }
.pl-commands { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 22px; margin-top: 24px; border-top: 1px solid var(--pl-line); }
.pl-button, .pl-icon-button, .pl-text-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 14px; border: 1px solid #c9d5e3; border-radius: 4px; background: #fff; color: #58708d; cursor: pointer; font-size: 12px; font-weight: 500; line-height: 1.6; }
.pl-button:hover, .pl-icon-button:hover { border-color: var(--pl-accent); color: var(--pl-accent); background: var(--pl-soft); }
.pl-button.primary { border-color: var(--pl-accent); color: #fff; background: var(--pl-accent); }
.pl-button.primary:hover { filter: brightness(.92); }
.pleading-app button:disabled { cursor: not-allowed; opacity: .48; }
.pl-icon-button { width: 30px; height: 30px; min-height: 30px; padding: 6px; flex: 0 0 30px; }
.pl-text-button { min-height: 30px; padding: 4px 0; border: 0; background: transparent; color: #6f849d; font-size: 11px; }
.pl-text-button:hover { color: var(--pl-accent); }
.pl-text-button.danger { color: #a54e47; }
.pl-source { position: sticky; top: 20px; min-width: 0; padding-left: 22px; border-left: 1px solid var(--pl-line); background: transparent; }
.pl-source summary { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; color: #4c6681; font-size: 13px; font-weight: 600; cursor: pointer; }
.pl-source-body select { min-height: 36px; font-size: 11px; }
.pl-source-preview { max-height: 610px; margin-top: 14px; overflow: auto; padding: 14px; border: 1px solid #dbe3ed; border-radius: 4px; background: #f7f9fc; }
.pl-source-preview pre { margin: 0; color: #61758d; font-family: inherit; font-size: 11px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.pl-source-preview figure { margin: 0 0 16px; }
.pl-source-preview img { display: block; width: 100%; height: auto; object-fit: contain; background: #fff; }
.pl-source-preview figcaption { margin-top: 6px; color: #8a9bb0; font-size: 10px; }
.pl-template-source { margin: 18px 0; color: #7d90a7; font-size: 11px; line-height: 1.9; }
.pl-template-source a { color: #326b9b; text-decoration: underline; text-underline-offset: 3px; }
.pl-empty { color: #8b9cb0; font-size: 12px; padding: 22px 0; margin: 0; }
.pl-review-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--pl-line); }
.pl-review-heading p { margin: 7px 0 0; color: #8193a9; font-size: 11px; }
.pl-warnings { margin: 22px 0; padding: 15px 16px; border-left: 3px solid #d7b76e; background: #fff8e9; color: #816a36; font-size: 12px; line-height: 1.9; }
.pl-warnings strong { font-weight: 600; }
.pl-warnings ul { margin: 8px 0 0; padding-left: 18px; }
.pl-warnings li { color: inherit; }
.pl-editor-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 20px 0 16px; }
.pl-group-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 18px; border-bottom: 1px solid var(--pl-line); }
.pl-group-tabs button { min-height: 36px; padding: 7px 10px; border: 1px solid #d6e1ed; border-radius: 4px; background: #f7f9fc; color: #6b8099; font-size: 11px; cursor: pointer; }
.pl-group-tabs button.active { border-color: var(--pl-accent); color: var(--pl-accent); background: var(--pl-soft); }
.pl-field { position: relative; padding: 24px 0; border-bottom: 1px solid var(--pl-line); }
.pl-field-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.pl-field-heading label { color: #4c6681; font-size: 13px; font-weight: 600; }
.pl-field-status { flex-shrink: 0; margin-top: 1px; padding: 2px 6px; border-radius: 3px; color: #8a9ab0; background: #eff3f8; font-size: 10px; }
.pl-field-status.filled { color: #287957; background: #eaf5ee; }
.pl-field.uncertain .pl-field-status { color: #946923; background: #fff4da; }
.pl-field.uncertain textarea { border-color: #d7b76e; }
.pl-original { margin-top: 10px; color: #8496ad; font-size: 11px; }
.pl-original summary { cursor: pointer; }
.pl-original pre { padding: 12px; margin: 10px 0; background: #f7f9fc; color: #7d90a8; font: inherit; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.9; }
.pl-citations { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 4px 8px; margin-top: 10px; color: #8496ad; font-size: 11px; }
.pl-citations button { max-width: 100%; padding: 0; border: 0; background: transparent; color: #326b9b; font-size: 11px; text-align: left; overflow-wrap: anywhere; cursor: pointer; }
.pl-restore { margin-top: 10px; }
.pl-restore svg { width: 13px; height: 13px; flex-basis: 13px; }
.pl-preview { margin-top: 26px; }
.pl-preview section { margin-top: 24px; }
.pl-preview h3 { margin: 0; padding: 10px 12px; color: #3b6f6d; background: #edf6f4; border: 1px solid #d4e3e0; }
.pl-preview dl { margin: 0; }
.pl-preview dl > div { display: grid; grid-template-columns: 138px minmax(0,1fr); border: 1px solid #dbe3ed; border-top: 0; }
.pl-preview dt, .pl-preview dd { padding: 12px; margin: 0; font-size: 11px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.pl-preview dt { background: #f7f9fc; color: #677f99; border-right: 1px solid #dbe3ed; }
.pl-preview dd { color: #435b75; }
.pl-signature { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 26px; padding-top: 24px; border-top: 1px solid #dbe3ed; }
.pl-export-check { margin-top: 24px; }
.pl-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
@media (max-width: 1180px) { .pl-layout { grid-template-columns: minmax(0,1fr); } .pl-source { position: static; padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--pl-line); } .pl-source-preview { max-height: 320px; } }
@media (max-width: 700px) { .pl-steps { padding-bottom: 18px; } .pl-steps li { gap: 6px; font-size: 10px; } .pl-steps li span { width: 22px; height: 22px; flex-basis: 22px; } .pl-case-options label { min-width: 85px; } .pl-case-options label span { padding-left: 29px; padding-right: 7px; font-size: 11px; } .pl-case-options input { left: 8px; } .pl-upload-area { padding: 22px 14px; } .pl-case-options { margin-bottom: 20px; } .pl-preview dl > div { grid-template-columns: minmax(0,1fr); } .pl-preview dt { border-right: 0; border-bottom: 1px solid var(--pl-line); } .pl-signature { grid-template-columns: minmax(0,1fr); } .pl-field-heading { flex-direction: column; gap: 7px; } .pl-commands { gap: 8px; } .pl-button { padding: 9px 12px; font-size: 11px; } .pl-group-tabs button { flex: 1 0 auto; } }
