/* Ticket opening: clear sections, useful context, protected attachment selection. */
.request-form { margin:0; }
.request-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:23px; align-items:start; }
.request-main { display:flex; flex-direction:column; gap:21px; min-width:0; }
.request-card.panel { margin:0; padding:26px; border-radius:15px; }
.request-section-head { display:flex; gap:13px; align-items:flex-start; margin-bottom:24px; }
.request-section-icon { width:37px; height:37px; display:grid; place-items:center; background:#fcf0f2; color:#c55b69; border:1px solid #f4e2e6; border-radius:11px; flex-shrink:0; }
.request-section-icon .icon { width:18px; height:18px; }
.workspace .request-section-head h2 { margin:0 0 6px; font-size:17px; color:#34445b; }
.request-section-head p { color:#68768a; font-size:13px; line-height:1.7; margin:0; }
.request-required { display:inline-flex; align-items:center; gap:7px; color:#69788c; font-size:12px; margin-bottom:19px; }
.request-required span { color:#b93f54; }
.request-card .field:last-child { margin-bottom:0; }
.request-card .form-grid { gap:0 19px; }
.request-card .optional { color:#7b8797; font-size:12px; font-weight:400; margin-left:4px; }
.request-card .field-hint { display:block; color:#68768a; font-size:12px; line-height:1.7; margin:8px 0 0; }
.request-card #request-category-hint { margin-top:-10px; margin-bottom:23px; }
.workspace .request-card textarea { min-height:185px; line-height:1.9; }
.request-description-foot { display:flex; justify-content:space-between; align-items:flex-start; gap:17px; font-size:12px; color:#68768a; line-height:1.7; margin-top:8px; }
.request-description-foot .counter { white-space:nowrap; color:#7d899b; flex-shrink:0; }
.request-aside { min-width:0; display:flex; flex-direction:column; gap:20px; }
.request-aside .request-card { padding:23px; }
.request-aside .request-section-head { margin-bottom:20px; gap:11px; }
.workspace .request-aside .request-section-head h2 { font-size:16px; }
.request-priority-help { color:#68768a; font-size:13px; line-height:1.8; margin:11px 0 19px; }
.request-sla { display:grid; grid-template-columns:1fr 1fr; border:1px solid #e6eaf1; border-radius:10px; background:#fafbfd; overflow:hidden; }
.request-sla>div { padding:15px 11px; }
.request-sla>div+div { border-left:1px solid #e6eaf1; }
.request-sla span { display:block; color:#6c7a8f; font-size:11px; margin-bottom:8px; line-height:1.6; }
.request-sla strong { font-size:23px; color:#43536a; line-height:1.1; font-weight:650; }
.request-sla small { display:inline; margin-left:3px; font-size:12px; color:#7b8798; }
.request-sla-note { display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.75; color:#68768a; margin:14px 0 0; }
.request-sla-note .icon { flex-shrink:0; width:15px; height:15px; margin-top:3px; color:#9aa7b8; }
.request-routing { border-top:1px solid #e8ecf2; margin-top:20px; padding-top:17px; }
.request-routing-label { color:#7a8799; font-size:11px; display:flex; align-items:center; gap:7px; margin-bottom:8px; }
.request-routing-label .icon { width:15px; height:15px; }
.request-routing strong { display:block; font-size:13px; line-height:1.8; font-weight:550; color:#52627a; overflow-wrap:anywhere; }
.request-next { margin:0; padding:0; list-style:none; counter-reset:next; }
.request-next li { display:flex; gap:11px; color:#68768a; font-size:13px; line-height:1.8; padding:0 0 17px; }
.request-next li:last-child { padding-bottom:0; }
.request-next li:before { counter-increment:next; content:counter(next); width:22px; height:22px; background:#f4f6fa; border:1px solid #e5eaf1; border-radius:7px; display:grid; place-items:center; color:#8c99ac; font-size:11px; flex-shrink:0; margin-top:2px; }
.request-next strong { display:block; font-size:13px; font-weight:550; color:#52627a; }
.request-help-link { display:flex; align-items:flex-start; gap:12px; border:1px dashed #dfe5ee; border-radius:12px; padding:18px; color:#68768a; background:#ffffff60; }
.request-help-link>.icon { width:20px; height:20px; color:#b96b78; margin-top:3px; flex-shrink:0; }
.request-help-link strong { font-size:13px; color:#52627a; font-weight:550; display:block; margin-bottom:5px; }
.request-help-link span { font-size:12px; line-height:1.8; }
.request-help-link:hover { border-color:#dba1ac; background:#fff; }
.request-dropzone { position:relative; min-height:137px; border:1px dashed #ccd5e2; border-radius:11px; background:#fafbfd; padding:23px 20px; display:flex; align-items:center; justify-content:center; gap:15px; text-align:left; transition:border-color .15s,background .15s; }
.request-dropzone:focus-within,.request-dropzone:hover,.request-dropzone.is-dragover { border-color:#cf7e8e; background:#fff7f8; }
.request-dropzone-icon { width:43px; height:43px; display:grid; place-items:center; background:#fff; border:1px solid #e4e9f1; border-radius:12px; flex-shrink:0; color:#91a0b7; }
.request-dropzone-icon .icon { width:20px; height:20px; }
.request-dropzone strong { display:block; color:#53647c; font-size:14px; font-weight:550; margin-bottom:6px; }
.request-dropzone span { display:block; color:#758399; font-size:12px; line-height:1.8; }
.request-dropzone input.request-file-input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; padding:0; margin:0; }
.request-file-help { font-size:12px; line-height:1.8; color:#68768a; margin-top:12px; }
.request-file-list { display:flex; flex-direction:column; gap:9px; margin-top:14px; }
.request-file-row { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid #e4e9f1; border-radius:9px; background:#fcfdfe; }
.request-file-row>.icon { width:18px; height:18px; color:#8b9ab0; flex-shrink:0; }
.request-file-name { min-width:0; flex:1; }
.request-file-name strong { display:block; font-size:13px; font-weight:500; color:#53647c; overflow-wrap:anywhere; line-height:1.7; }
.request-file-name small { color:#7f8da0; font-size:11px; }
.request-file-row button { display:grid; place-items:center; width:32px; height:32px; font-size:23px; border-radius:7px; color:#9c6a78; flex-shrink:0; }
.request-file-row button:hover { background:#fff0f3; color:#b83c53; }
.request-file-error { font-size:13px; line-height:1.7; color:#b33f4d; margin-top:10px; }
.request-file-error:empty { display:none; }
.attachment-paste-target { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; width:100%; min-height:48px; margin-top:12px; padding:12px 14px; background:#fff7f8; border:1px solid #f1dfe4; border-radius:9px; color:#99606e; font-size:13px; line-height:1.8; }
.attachment-paste-target>.icon { width:18px; height:18px; flex-shrink:0; color:#be7c8a; }
.attachment-paste-target:hover,.attachment-paste-target:focus-visible { background:#fff0f3; border-color:#d8a1ad; }
.attachment-paste-target.is-ready { background:#fff0f3; border-color:#cf8c9c; }
.attachment-paste-target[aria-busy=true] { opacity:.65; cursor:wait; }
.attachment-paste-target kbd { font-family:inherit; font-size:12px; padding:2px 6px; border:1px solid #e7d8dd; border-radius:5px; background:#fff; color:#95616f; white-space:nowrap; }
.attachment-paste-help { font-size:12px; line-height:1.8; color:#68768a; margin:10px 0 0; }
.request-file-row .attachment-preview-button { width:64px; height:48px; padding:0; overflow:hidden; border:1px solid #dfe5ed; background:#fff; border-radius:7px; }
.attachment-thumbnail { display:block; width:100%; height:100%; object-fit:cover; }
.attachment-preview-image { width:100%; max-height:70vh; object-fit:contain; display:block; border-radius:9px; background:#f5f7fa; }
.reply .attachment-widget { margin-bottom:20px; }
.request-actions { display:flex; justify-content:space-between; gap:20px; align-items:center; background:#fff; border:1px solid #e4e8ef; border-radius:13px; padding:19px 23px; margin-top:22px; }
.request-actions-note { display:flex; align-items:center; gap:9px; color:#68768a; font-size:12px; line-height:1.7; }
.request-actions-note .icon { width:17px; color:#94a3b8; flex-shrink:0; }
.request-actions .actions { gap:11px; }
.request-form>.form-error .error { margin-top:20px; }
@container(max-width:940px) {
 .request-layout { grid-template-columns:minmax(0,1fr); }
 .request-aside { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
 .request-help-link { grid-column:1/-1; }
 .request-actions-note { max-width:280px; }
}
@container(max-width:570px) {
 .request-layout { gap:18px; }
 .request-card.panel { padding:22px; }
 .request-section-head { gap:11px; margin-bottom:22px; }
 .workspace .request-section-head h2 { font-size:16px; }
 .request-section-head p { font-size:12px; }
 .request-section-icon { width:33px; height:33px; }
 .request-card .form-grid { grid-template-columns:minmax(0,1fr); }
 .request-aside { display:flex; }
 .request-aside .request-card { width:100%; }
 .request-description-foot { flex-wrap:wrap; gap:6px; }
 .request-dropzone { flex-direction:column; text-align:center; padding:23px 14px; gap:13px; }
 .request-dropzone strong { font-size:13px; }
 .request-actions { flex-direction:column; align-items:stretch; padding:19px; gap:17px; }
 .request-actions-note { max-width:none; }
 .request-actions .actions { display:grid; grid-template-columns:auto minmax(0,1fr); }
 .request-actions .btn { font-size:13px; padding:11px 12px; }
}
@media(prefers-reduced-motion:reduce) { .request-dropzone { transition:none; } }
