/* /newticket only. Shared legacy Ticket CSS remains for its other consumers. */
*,*::before,*::after { box-sizing:border-box; }
html { min-height:100%; }
body.ticket-create-page { margin:0; min-height:100vh; }
#FeedbackForm { width:100%; }
.form-title { margin:0; }
.form-subtitle { margin:var(--zg-space-2) 0 var(--zg-page-header-gap); }
fieldset { border:0; padding:0; margin:0; min-width:0; }
.form-row-top {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--zg-form-field-gap);
  align-items:start;
}
.form-group { min-width:0; margin-bottom:var(--zg-form-field-gap); }
label {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--zg-space-2);
  margin-bottom:var(--zg-space-2);
  font:var(--zg-weight-label) var(--zg-font-label)/var(--zg-line-label) var(--zg-font-family);
  color:var(--zg-text-primary);
}
.field-meta {
  font:var(--zg-weight-caption) var(--zg-font-caption)/var(--zg-line-caption) var(--zg-font-family);
  color:var(--zg-text-muted);
  white-space:nowrap;
}
.zg-input,.zg-select,.zg-textarea { width:100%; }
#FeedbackText { min-height:220px; }
#FeedbackFile { display:none; }
.drop-zone {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:170px;
  padding:var(--zg-space-6);
  border:1px dashed var(--zg-border-default);
  border-radius:var(--zg-radius-lg);
  background:var(--zg-surface-soft);
  text-align:center;
  cursor:pointer;
}
.drop-zone:hover { border-color:var(--zg-accent-primary); background:var(--zg-surface-hover); }
.drop-zone.is-dragover { border-color:var(--zg-state-success); background:var(--zg-surface-soft); }
.drop-zone-content { max-width:320px; }
.drop-zone-icon { font-size:var(--zg-font-display); margin-bottom:var(--zg-space-2); }
.drop-zone-title { font-size:var(--zg-font-h3); font-weight:var(--zg-weight-bold); color:var(--zg-text-primary); }
.drop-zone-text,.attachment-tip,.file-meta { color:var(--zg-text-muted); font-size:var(--zg-font-body-sm); overflow-wrap:anywhere; }
.drop-zone-text { margin-top:var(--zg-space-1); }
.attachment-tip,.file-meta { margin-top:var(--zg-space-2); }
.file-list { margin-top:var(--zg-space-3); display:flex; flex-direction:column; gap:var(--zg-space-3); }
.file-row { display:flex; align-items:center; gap:var(--zg-space-3); }
.file-main { flex:1; min-width:0; }
.file-actions { display:flex; flex-shrink:0; justify-content:flex-end; }
.form-actions { display:flex; justify-content:flex-end; margin-top:var(--zg-space-6); }
.public-ticket-notice {
  padding:var(--zg-card-padding);
  border:1px solid var(--zg-state-warning);
  border-radius:var(--zg-radius-lg);
  background:var(--zg-surface-soft);
  color:var(--zg-text-secondary);
  overflow-wrap:anywhere;
}
.public-ticket-notice a { color:var(--zg-accent-primary); }
.is-hidden-keep-space { visibility:hidden !important; pointer-events:none !important; }
.is-hidden { display:none !important; }
.overlay {
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:var(--zg-page-padding-y) var(--zg-page-padding-x);
}
.overlay-card { max-height:calc(100dvh - 2 * var(--zg-page-padding-y)); text-align:center; }
.overlay-title { margin-top:var(--zg-space-3); }
.overlay-subtitle { margin-top:var(--zg-space-2); color:var(--zg-text-muted); overflow-wrap:anywhere; }
.spinner {
  width:56px;
  height:56px;
  margin:0 auto;
  border-radius:var(--zg-radius-full);
  border:5px solid var(--zg-border-soft);
  border-top-color:var(--zg-accent-primary);
  animation:spin .8s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }
.progress-track { margin-top:var(--zg-space-5); height:12px; border-radius:var(--zg-radius-full); background:var(--zg-surface-subpanel); overflow:hidden; }
.progress-fill { width:0%; height:100%; background:var(--zg-accent-primary); transition:width .3s ease; }
.progress-text { margin-top:var(--zg-space-2); font-size:var(--zg-font-body-sm); font-weight:var(--zg-weight-bold); }
.success-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  margin:0 auto;
  border-radius:var(--zg-radius-full);
  background:var(--zg-surface-soft);
  color:var(--zg-state-success);
  font-size:var(--zg-font-display);
  font-weight:var(--zg-weight-bold);
}
.success-button { display:flex; margin:var(--zg-space-5) 0 0 auto; }
@media(max-width:820px) {
  .form-row-top { grid-template-columns:minmax(0,1fr); }
  .file-row { flex-direction:column; align-items:stretch; }
  #SubmitButton { width:100%; }
}
