.gig-wrap{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;}
.gig-panel{background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.gig-panel-head{display:flex;flex-direction:column;gap:0.5rem;padding:1rem;border-bottom:1px solid var(--border,rgba(0,0,0,.06));}
.gig-label{font-size:0.75rem;font-weight:600;color:var(--text-muted,#6b7280);text-transform:uppercase;letter-spacing:0.04em;}
.gig-search{width:100%;padding:0.625rem 0.875rem;font-size:0.9375rem;border:1px solid var(--border,rgba(0,0,0,.12));border-radius:8px;background:var(--surface,#fff);color:var(--text-main,#111);transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;appearance:none;}
.gig-search::placeholder{color:var(--text-muted,#9ca3af);}
.gig-search:focus{outline:none;border-color:var(--primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.gig-cats{max-height:280px;overflow-y:auto;padding:0.75rem 1rem;-webkit-overflow-scrolling:touch;}
.gig-cat{margin-bottom:1rem;}
.gig-cat:last-child{margin-bottom:0;}
.gig-cat-title{display:block;font-size:0.6875rem;font-weight:600;color:var(--text-muted,#6b7280);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.5rem;padding-left:2px;}
.gig-chips{display:flex;flex-wrap:wrap;gap:0.375rem;}
.gig-chip{display:inline-flex;align-items:center;padding:0.375rem 0.75rem;font-size:0.8125rem;font-weight:500;color:var(--text-muted,#6b7280);background:var(--surface-muted,rgba(0,0,0,.04));border:1px solid var(--border,rgba(0,0,0,.1));border-radius:999px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent;}
.gig-chip:hover{color:var(--text-main,#111);background:var(--surface-muted,rgba(0,0,0,.07));border-color:var(--border,rgba(0,0,0,.15));}
.gig-chip:focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:2px;}
.gig-chip.is-selected{color:#fff;background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);}
.gig-panel-foot{padding:0.75rem 1rem;border-top:1px solid var(--border,rgba(0,0,0,.06));}
.gig-btn{display:inline-flex;align-items:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .05s ease;-webkit-tap-highlight-color:transparent;border:1px solid transparent;}
.gig-btn-add{width:100%;color:#fff;background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);}
.gig-btn-add:hover{background:var(--primary-dark,#1d4ed8);border-color:var(--primary-dark,#1d4ed8);}
.gig-btn-add:active{transform:scale(0.98);}
.gig-output{display:flex;flex-direction:column;min-height:260px;}
.gig-output-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.75rem 1rem;border-bottom:1px solid var(--border,rgba(0,0,0,.06));background:var(--surface-muted,rgba(0,0,0,.02));}
.gig-actions{display:flex;flex-wrap:wrap;gap:0.5rem;}
.gig-btn-sec{color:var(--text-main,#111);background:var(--surface,#fff);border-color:var(--border,rgba(0,0,0,.12));}
.gig-btn-sec:hover{background:var(--surface-muted,rgba(0,0,0,.05));}
.gig-btn-pri{color:#fff;background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);}
.gig-btn-pri:hover{background:var(--primary-dark,#1d4ed8);}
.gig-editor{flex:1;min-height:220px;width:100%;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:0.8125rem;line-height:1.55;border:none;resize:vertical;background:var(--surface,#fff);color:var(--text-main,#111);-webkit-appearance:none;appearance:none;}
.gig-editor::placeholder{color:var(--text-muted,#9ca3af);}
.gig-editor:focus{outline:none;}
@media (min-width:768px){.gig-wrap{flex-direction:row;gap:1.25rem;align-items:stretch;}
.gig-templates{flex:0 0 300px;max-width:300px;display:flex;flex-direction:column;}
.gig-cats{max-height:none;flex:1;min-height:200px;}
.gig-output{flex:1;min-width:0;}
.gig-editor{min-height:320px;}
.gig-btn-add{width:auto;}
}
@media (min-width:1024px){.gig-templates{flex:0 0 340px;max-width:340px;}
.gig-cats{padding:1rem 1.25rem;}
.gig-panel-head,.gig-panel-foot{padding:1rem 1.25rem;}
.gig-output-head{padding:1rem 1.25rem;}
.gig-editor{padding:1.25rem;font-size:0.875rem;min-height:360px;}
}
