.enhancer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.25rem 1.5rem;
  border-bottom:1px solid var(--border);
  background:linear-gradient(90deg,rgba(124,58,237,0.12),rgba(6,182,212,0.06));
}
.enhancer-header-main{
  display:flex;
  align-items:center;
  gap:1rem;
}
.enhancer-logo{
  width:32px;
  height:32px;
}
.enhancer-title{
  margin:0;
  font-size:1.1rem;
}
.enhancer-subtitle{
  margin:0.15rem 0 0;
  font-size:0.9rem;
  opacity:0.85;
}
.enhancer-header-meta{
  font-size:0.8rem;
}
.enhancer-tag{
  padding:0.2rem 0.6rem;
  border-radius:999px;
  border:1px solid var(--border);
}
.enhancer-main{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr);
  grid-template-rows:auto auto;
  gap:1rem;
  padding:1rem 1.5rem 1.5rem;
}
.enhancer-status{
  grid-column:1/3;
  margin:0 0 0.3rem;
  padding:0.7rem 0.85rem;
  border-radius:0.65rem;
  border:1px solid var(--border);
  font-size:0.9rem;
  background:var(--surface-light);
}
.enhancer-status--ok{
  border-color:rgba(34,197,94,0.6);
  background:linear-gradient(120deg,rgba(34,197,94,0.12),rgba(34,197,94,0.06));
}
.enhancer-status--warning{
  border-color:rgba(234,179,8,0.6);
  background:linear-gradient(120deg,rgba(234,179,8,0.12),rgba(234,179,8,0.06));
}
.enhancer-status--error{
  border-color:rgba(248,113,113,0.6);
  background:linear-gradient(120deg,rgba(248,113,113,0.14),rgba(248,113,113,0.08));
}
.enhancer-panel{
  border-radius:0.75rem;
  border:1px solid var(--border);
  padding:1rem 1.1rem;
  background:var(--surface-light);
  backdrop-filter:blur(14px);
}
.enhancer-panel--input{
  grid-column:1/2;
}
.enhancer-panel--output{
  grid-column:2/3;
}
.enhancer-panel--log{
  grid-column:1/3;
}
.enhancer-panel h2{
  margin:0 0 0.25rem;
}
.enhancer-panel-desc{
  margin:0 0 0.75rem;
  font-size:0.85rem;
  opacity:0.85;
}
#rawPrompt{
  width:100%;
  border-radius:0.6rem;
  border:1px solid var(--input-border);
  padding:0.6rem 0.7rem;
  background:var(--input-bg);
  color:var(--input-text);
  resize:vertical;
}
.enhancer-mode-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0.75rem;
  margin-top:0.75rem;
  flex-wrap:wrap;
}
.enhancer-mode-label{
  display:flex;
  flex-direction:column;
  gap:0.35rem;
  font-size:0.85rem;
}
#modeSelect{
  border-radius:999px;
  border:1px solid var(--input-border);
  padding:0.35rem 0.8rem;
  background:var(--input-bg);
  color:var(--input-text);
}
.enhancer-button-primary,
.enhancer-button-secondary,
.enhancer-button-ghost{
  border-radius:999px;
  border:none;
  font-size:0.85rem;
  padding:0.5rem 0.95rem;
  cursor:pointer;
}
.enhancer-button-primary{
  background:linear-gradient(120deg,#7C3AED,#06B6D4);
  color:white;
}
.enhancer-button-secondary{
  background:transparent;
  border:1px solid var(--border);
  color:var(--text);
}
.enhancer-button-ghost{
  background:transparent;
  border:1px dashed var(--border);
  color:var(--text);
}
.enhancer-error{
  margin-top:0.4rem;
  color:#f97373;
  font-size:0.8rem;
}
.enhancer-code-block{
  margin-top:0.25rem;
  min-height:6rem;
  border-radius:0.6rem;
  border:1px solid var(--input-border);
  padding:0.6rem 0.7rem;
  background:var(--input-bg);
  font-size:0.8rem;
  overflow:auto;
  color:var(--input-text);
}
.enhancer-output-footer{
  margin-top:0.6rem;
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
}
.enhancer-score{
  margin-top:0.6rem;
  padding:0.55rem 0.7rem;
  border-radius:0.6rem;
  border:1px solid rgba(45,212,191,0.7);
  background:rgba(15,118,110,0.25);
  font-size:0.8rem;
}
.enhancer-validation{
  margin-top:0.6rem;
  padding:0.55rem 0.7rem;
  border-radius:0.6rem;
  border:1px solid var(--border-light);
  background:var(--surface-light);
  font-size:0.8rem;
}
.enhancer-validation ul{
  padding-left:1.1rem;
  margin:0.25rem 0 0;
}
.enhancer-log{
  font-size:0.75rem;
  border-radius:0.6rem;
  border:1px dashed var(--border);
  padding:0.5rem 0.6rem;
  background:var(--surface);
  max-height:160px;
  overflow:auto;
}
.hidden{
  display:none !important;
}
/* ATTACHMENT FEATURE: Styles for file attachment UI */
.enhancer-attachment-section{
  display:flex;
  align-items:center;
  gap:0.75rem;
  margin-top:0.75rem;
  padding-top:0.75rem;
  border-top:1px dashed var(--border-lighter);
}
.enhancer-button-attach{
  border-radius:999px;
  border:1px solid var(--input-border);
  background:var(--input-bg);
  color:var(--text);
  font-size:0.85rem;
  padding:0.45rem 0.85rem;
  cursor:pointer;
  transition:all 0.2s ease;
  display:flex;
  align-items:center;
  gap:0.35rem;
}
.enhancer-button-attach:hover{
  border-color:rgba(6,182,212,0.8);
  background:rgba(6,182,212,0.15);
}
.enhancer-attach-hint{
  font-size:0.75rem;
  opacity:0.7;
}

/* ATTACHMENT FEATURE: Attachment preview list */
.attachment-list{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  margin-top:0.6rem;
  max-height:200px;
  overflow-y:auto;
}
.attachment-list:empty{
  display:none;
}
.attachment-item{
  display:flex;
  align-items:center;
  gap:0.6rem;
  padding:0.5rem 0.7rem;
  border-radius:0.6rem;
  border:1px solid var(--border);
  background:var(--surface-light);
  transition:all 0.2s ease;
}
.attachment-item:hover{
  border-color:rgba(6,182,212,0.7);
  background:rgba(6,182,212,0.08);
}
.attachment-icon{
  font-size:1.5rem;
  flex-shrink:0;
  width:2rem;
  height:2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:0.4rem;
  background:rgba(124,58,237,0.15);
}
.attachment-info{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0.15rem;
}
.attachment-name{
  font-size:0.85rem;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.attachment-size{
  font-size:0.7rem;
  opacity:0.7;
}
.attachment-remove{
  flex-shrink:0;
  width:1.5rem;
  height:1.5rem;
  border-radius:50%;
  border:1px solid rgba(239,68,68,0.5);
  background:rgba(239,68,68,0.15);
  color:#f97373;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1rem;
  line-height:1;
  transition:all 0.2s ease;
}
.attachment-remove:hover{
  border-color:rgba(239,68,68,0.8);
  background:rgba(239,68,68,0.25);
  transform:scale(1.1);
}

@media (max-width: 960px){
  .enhancer-main{
    grid-template-columns:minmax(0,1fr);
  }
  .enhancer-panel--input,
  .enhancer-panel--output,
  .enhancer-panel--log{
    grid-column:1/2;
  }
  .enhancer-attachment-section{
    flex-wrap:wrap;
  }
}