.demand-panel{grid-column:1/-1;min-width:0;margin:0 0 24px;border:1px solid #d9e2dd;border-radius:14px;background:#fff;overflow:hidden;overflow-anchor:none}
.demand-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:16px 22px;list-style:none;cursor:pointer;color:#b81b23;font-size:18px;font-weight:650;background:#fff5f4}
.demand-panel>summary::-webkit-details-marker{display:none}
.demand-panel>summary:focus-visible{outline:3px solid #d82027;outline-offset:-3px}
.demand-panel-toggle{font-size:28px;font-weight:400;line-height:1;transition:transform .2s}
.demand-panel[open] .demand-panel-toggle{transform:rotate(45deg)}
.demand-panel-content{padding:24px}
.demand-page{width:min(1080px,calc(100% - 40px));margin:48px auto 72px;padding:32px;border:1px solid #dde5df;border-radius:16px;background:#fff}
.demand-page-heading{max-width:780px;margin-bottom:22px}
.demand-page-heading h1{font-size:clamp(27px,4vw,40px);line-height:1.25;margin:8px 0 16px;letter-spacing:-.03em}
.demand-page-heading p{font-size:16px;line-height:1.75;color:#5b6e6b}
.demand-page-heading>a{display:inline-block;font-size:14px;color:#b51b22;text-decoration:underline}
.demand-share{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #e7ece9;font-size:14px}
.demand-share-link{color:#b71b22;text-decoration:underline;font-weight:600}
.demand-share button,.demand-expand,.demand-clear-files{min-height:40px;padding:8px 13px;border:1px solid #d4ddd6;border-radius:8px;background:#f8faf8;color:#344740;font:inherit;font-size:13px;cursor:pointer}
.demand-share-result{margin:0;font-size:13px;color:#365e47}
.demand-share-value{width:100%;min-width:0;padding:10px;border:1px solid #d6ded8;border-radius:7px;font-size:14px}
.demand-form{display:block;min-width:0;width:100%;font-size:15px;color:#263b36}
.demand-form-intro{margin:0 0 22px;line-height:1.7}
.demand-form-intro>p{margin:0 0 8px}
.demand-hint{font-size:13px!important;line-height:1.7;color:#63746e;margin:8px 0 14px}
.demand-step{margin:0 0 12px;border:1px solid #dee6df;border-radius:11px;overflow:hidden;min-width:0;scroll-margin-top:110px}
.reading-system .demand-step{scroll-margin-top:0}
.demand-step>summary{display:flex;align-items:center;gap:12px;min-height:54px;padding:13px 18px;font-weight:600;cursor:pointer;background:#f6f8f6;list-style:none}
.demand-step>summary::-webkit-details-marker{display:none}
.demand-step>summary:after{content:'+';margin-left:auto;font-size:22px;font-weight:400;color:#7a8c81}
.demand-step[open]>summary:after{content:'−'}
.demand-step-number{display:grid;place-items:center;flex:0 0 28px;min-height:28px;border-radius:7px;background:#e8efe9;color:#4c6957;font-size:12px}
.demand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px}
.demand-full{grid-column:1/-1;min-width:0}
.demand-condition{padding:18px;margin:0;border:1px solid #e2e9e3;border-radius:9px;background:#fafcf9}
.demand-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;line-height:1.6}
.demand-field>span{font-size:14px;font-weight:550;color:#30493d}
.demand-field b{color:#b51c25}
.demand-form input:not([type=checkbox]),.demand-form select,.demand-form textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;margin:0;padding:10px 12px;border:1px solid #cdd8d0;border-radius:8px;background:#fff;color:#233b31;font:inherit;font-size:16px;line-height:1.4;box-sizing:border-box}
.demand-form input::placeholder{color:#809087;font-size:14px}
.demand-form textarea{resize:vertical;min-height:110px}
.demand-form input:focus,.demand-form select:focus,.demand-form textarea:focus{outline:2px solid #d8202720;border-color:#b51c25;outline-offset:1px}
.demand-form [aria-invalid=true]{border-color:#c52a2f!important;background:#fff9f8!important}
.demand-checks,.demand-dimensions{border:0;padding:0;margin:0;min-width:0}
.demand-checks legend,.demand-dimensions legend{font-size:14px;font-weight:550;line-height:1.6;margin-bottom:10px}
.demand-checks>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.demand-checks label{display:flex;gap:11px;align-items:center;min-height:48px;padding:11px 13px;border:1px solid #dce5dd;border-radius:8px;background:#fff;line-height:1.5;cursor:pointer;min-width:0}
.demand-checks label:has(input:checked){background:#fff4f2;border-color:#d99a95;color:#a22027}
.demand-checks input[type=checkbox]{width:19px;height:19px;flex:0 0 19px;margin:0;accent-color:#c3262a}
.demand-dimensions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.demand-dimensions .demand-field>span{font-size:12px;color:#62766a}
.demand-equipment{min-width:0;padding:16px;margin:0;border:1px solid #dce5dd;border-radius:9px;background:#f9fbf8}
.demand-equipment>legend{padding:0 6px;font-size:14px;font-weight:600}
.demand-equipment>.demand-grid{padding:0;align-items:start}
.demand-file-zone{display:grid;gap:8px;min-width:0}
.demand-file-zone .demand-hint{margin:0}
.demand-suggestion{padding:16px;border-left:3px solid #cf6d28;border-radius:7px;background:#fff7ea;font-size:14px;line-height:1.7}
.demand-suggestion>p{margin:0 0 6px}.demand-suggestion>a{font-weight:600;text-decoration:underline;color:#95551e}
.demand-notes{padding:16px 0;display:grid;gap:12px}
.demand-form input[type=file]{background:#f9fcf8;padding:10px;font-size:13px;overflow:hidden}
.demand-file-list{margin:0;padding-left:20px;color:#536c5b;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.demand-clear-files{justify-self:start}
.demand-submit-area{padding-top:12px;border-top:1px solid #e4eae5}
.demand-submit{width:100%;max-width:390px;min-height:52px;border:0;border-radius:9px;font:inherit;font-weight:600;cursor:pointer}
.demand-submit:disabled{opacity:.65;cursor:wait}
.demand-status{margin:18px 0 0;padding:16px;border-radius:9px;background:#edf7ed;color:#235538;line-height:1.7;font-size:14px;overflow-wrap:anywhere}
.demand-status.is-error{background:#fff2ee;color:#9d292a}
.demand-fallback{margin:15px 0 0;padding:15px;border:1px solid #e7d5cf;border-radius:9px;line-height:1.6}
.demand-fallback a{text-decoration:underline;color:#aa2029;font-weight:600}
.demand-demo{grid-column:1/-1;margin:0;width:min(100%,480px);justify-self:center}
.demand-demo img{display:block;width:100%;height:auto;background:#fff;border:1px solid #e5e9e6;border-radius:9px}
.demand-demo figcaption{font-size:12px;line-height:1.7;color:#62766a;margin-top:9px}
.demand-attachment-demos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.demand-attachment-demos .demand-demo{grid-column:auto;width:100%;max-width:480px}
.demand-attachment-demos[data-visible-count="1"] .demand-demo:not([hidden]){grid-column:1/-1}
.demand-attachment-demos img{aspect-ratio:21/11;object-fit:contain}
.demand-attachment-demos figcaption strong{display:block;font-size:14px;color:#30493d;margin-bottom:4px}
.demand-attachment-demos figcaption span{display:block}
.demand-form [hidden],.demand-share [hidden],.demand-trap{display:none!important}
.demand-form button:focus-visible,.demand-share button:focus-visible,.demand-step summary:focus-visible{outline:3px solid #d82027;outline-offset:2px}
@media(max-width:760px){.demand-page{width:calc(100% - 24px);margin:24px auto 50px;padding:20px}.demand-panel-content{padding:18px}.demand-grid{padding:16px;gap:16px}.demand-condition{padding:14px}.demand-checks>div{grid-template-columns:1fr}.demand-step>summary{padding:12px 14px;font-size:14px}}
@media(max-width:560px){.demand-grid,.demand-attachment-demos{grid-template-columns:1fr}.demand-panel>summary{padding:14px 17px;font-size:17px}.demand-page{padding:16px}.demand-panel-content{padding:14px}.demand-dimensions>div{gap:8px}.demand-dimensions input{padding:10px 8px}.demand-submit{max-width:none}.demand-share{gap:10px}.demand-form input[type=date]{min-width:0;max-width:100%}}
@media(prefers-reduced-motion:reduce){.demand-panel-toggle{transition:none}}
