.specialty-shell{max-width:1180px;margin:0 auto;padding:28px 20px 64px}
.specialty-shell [hidden]{display:none!important}
.specialty-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);gap:24px;align-items:start;margin-bottom:24px}
.specialty-head h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.02;margin:.4rem 0}
.specialty-head p{max-width:700px;color:#52627a}
.specialty-shell .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border:1px solid transparent;border-radius:11px;font:inherit;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer}
.specialty-shell .button-primary{color:#fff;background:#075ee8;box-shadow:0 8px 20px rgba(7,94,232,.18)}
.specialty-shell .button-primary:hover{background:#064fbe}
.specialty-shell .button-secondary{color:#153258;background:#fff;border-color:#b8c8dc}
.specialty-shell .button-secondary:hover{background:#f2f6fc;border-color:#87a0bf}
.specialty-shell .button:focus-visible{outline:3px solid #82b5ff;outline-offset:3px}
.specialty-shell .button:disabled{cursor:not-allowed;opacity:.58}
.specialty-boundary{border:1px solid #d9e2f0;border-radius:18px;background:#f7f9fd;padding:18px}
.specialty-gate+.specialty-boundary{margin-top:14px}
.specialty-boundary strong,.specialty-boundary span{display:block}
.specialty-boundary span{margin-top:6px;color:#52627a}
.specialty-gate,.specialty-workbench{border:1px solid #d9e2f0;border-radius:22px;background:#fff;box-shadow:0 16px 50px rgba(11,35,72,.08);padding:24px}
.specialty-gate{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.specialty-gate-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e9f2ff;color:#075ee8;font-size:1.35rem;font-weight:800}
.specialty-gate h2{margin:0 0 8px}
.specialty-actions,.specialty-runtime-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.specialty-runtime-actions{margin-top:10px}
.specialty-runtime-actions [hidden],.specialty-workbench[hidden]{display:none}
.specialty-steps{display:flex;gap:8px;overflow:auto;padding:0 0 18px;margin:0 0 22px;list-style:none}
.specialty-steps li{white-space:nowrap;border-radius:999px;background:#eef3fa;padding:9px 13px;font-size:.85rem;font-weight:750}
.specialty-steps li[aria-current=step]{background:#075ee8;color:#fff}
.specialty-steps li[data-complete=true]{background:#e8f7ef;color:#08663a}
.specialty-steps li[data-complete=true]:before{content:'✓ ';font-weight:900}
.specialty-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:20px}
.specialty-panel{border:1px solid #dbe3ef;border-radius:18px;padding:20px}
.specialty-panel h2{margin-top:0}
.specialty-drop{min-height:190px;border:2px dashed #aebbd0;border-radius:16px;display:grid;place-items:center;text-align:center;padding:24px;background:#f9fbff}
.specialty-drop:focus-within{outline:3px solid #82b5ff;outline-offset:3px}
.specialty-drop input{max-width:100%}
.specialty-files{display:grid;gap:10px;margin-top:14px}
.specialty-file{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid #dbe3ef;border-radius:12px;padding:12px}
.specialty-file-restored{background:#f5f9ff}
.specialty-file small{color:#617089}
.specialty-field{display:grid;gap:7px;margin-bottom:14px;font-weight:700}
.specialty-field input,.specialty-field select,.specialty-field textarea{min-height:46px;border:1px solid #aebbd0;border-radius:10px;padding:10px 12px;font:inherit}
.specialty-field textarea{min-height:110px;resize:vertical}
.specialty-field small{font-weight:500;color:#5c6d85;line-height:1.45}
.specialty-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin:18px 0;border:1px solid #dbe3ef;border-radius:14px;padding:16px}
.specialty-settings legend{padding:0 7px;font-weight:800;color:#152a4b}
.specialty-field-check{grid-column:1/-1;border-radius:11px;background:#f6f9fe;padding:12px}
.specialty-check{display:flex;align-items:flex-start;gap:10px}
.specialty-check input{width:22px;height:22px;min-height:22px;flex:0 0 auto;margin:1px 0}
.specialty-review{margin-top:20px;border:2px solid #8eb9ff;border-radius:18px;background:#f7faff;padding:22px}
.specialty-review:focus{outline:3px solid #075ee8;outline-offset:4px}
.specialty-review h2{margin:.25rem 0 .5rem}
.specialty-review dl{display:grid;grid-template-columns:minmax(160px,.35fr) minmax(0,1fr);gap:0;margin:18px 0;border:1px solid #d4dfef;border-radius:14px;overflow:hidden;background:#fff}
.specialty-review dt,.specialty-review dd{margin:0;padding:11px 13px;border-bottom:1px solid #e1e8f2;overflow-wrap:anywhere}
.specialty-review dt{font-weight:800;background:#f2f6fc}
.specialty-review dt:last-of-type,.specialty-review dd:last-of-type{border-bottom:0}
.specialty-review-actions{display:flex;flex-wrap:wrap;gap:10px}
[data-result-region]{margin-top:14px;border:1px solid #9bd1b5;border-radius:14px;background:#effaf4;padding:16px}
[data-result-region] h2{margin:0 0 10px}
.specialty-status{min-height:24px;margin-top:14px;color:#34445d}
.specialty-status+a[data-download]{display:inline-flex;margin-top:4px}
.specialty-limits{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.specialty-limits li{display:flex;gap:8px;color:#44546c}
.specialty-limits li:before{content:'✓';color:#09783e;font-weight:900}
@media(max-width:760px){.specialty-head,.specialty-grid{grid-template-columns:1fr}.specialty-shell{padding:14px 12px 48px}.specialty-head{margin-bottom:14px}.specialty-head h1{font-size:clamp(1.7rem,9vw,2.25rem);margin:.2rem 0}.specialty-head p{margin:.5rem 0 0}.specialty-gate,.specialty-workbench{padding:16px}.specialty-gate{grid-template-columns:38px minmax(0,1fr);gap:11px}.specialty-gate-icon{width:38px;height:38px;border-radius:11px}.specialty-boundary{padding:14px}.specialty-actions>a,.specialty-actions>button,.specialty-workbench .button{min-height:48px;width:100%;justify-content:center}.specialty-settings{grid-template-columns:1fr;padding:13px}.specialty-review{padding:16px}.specialty-review dl{grid-template-columns:1fr}.specialty-review dt{padding-bottom:3px;border-bottom:0}.specialty-review dd{padding-top:3px}.specialty-review dt:last-of-type{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.specialty-shell *{scroll-behavior:auto!important;transition:none!important}}
