.utm-layout{display:flex;flex-direction:column;gap:24px;width:100%}.utm-builder{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px 16px;gap:20px 16px}.utm-form-row{display:contents}.utm-form-row.utm-preview-row{display:flex;flex-direction:column;grid-column:1/-1;gap:16px}@media (min-width:600px){.utm-form-row.utm-preview-row{flex-direction:row}}.utm-field{display:flex;flex-direction:column;gap:6px;height:100%}.utm-field>label{font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em;flex-grow:1;display:flex;align-items:flex-end;padding-bottom:2px}.utm-field label .utm-required{color:var(--danger);margin-left:2px}.utm-input{width:100%;padding:10px 12px;background:var(--bg-body);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s ease}.utm-input::placeholder,.utm-preview-area::placeholder{color:var(--text-muted);opacity:.5}.utm-input:focus{border-color:var(--accent)}.utm-input::placeholder{color:var(--text-dim)}.utm-input.has-error{border-color:var(--danger)}.utm-error-text{font-size:12px;color:var(--danger);margin-top:2px}.utm-combobox,.utm-combobox-input-wrap{position:relative}.utm-combobox-input-wrap .utm-input{padding-right:32px}.utm-combobox-chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-dim);pointer-events:none;transition:transform .2s ease}.utm-combobox.is-open .utm-combobox-chevron{transform:translateY(-50%) rotate(180deg)}.utm-combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--bg-dropdown);border:1px solid var(--border);border-radius:8px;max-height:200px;overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.3);animation:utm-dropdown-in .15s ease}@keyframes utm-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.utm-combobox-option{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;font-size:14px;color:var(--text-primary);transition:background-color .1s ease}.utm-combobox-option.is-focused,.utm-combobox-option:hover{background:var(--bg-hover)}.utm-combobox-option-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.utm-combobox-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:var(--text-dim);cursor:pointer;border-radius:4px;flex-shrink:0;padding:0;transition:color .15s ease,background-color .15s ease}.utm-combobox-delete:hover{color:var(--danger);background:rgba(239,68,68,.1)}.utm-combobox-empty{padding:12px;font-size:13px;color:var(--text-dim);text-align:center}.utm-preview{display:flex;flex-direction:column;gap:6px;flex:3 1}.utm-preview>label{font-size:13px;font-weight:500;color:var(--text-secondary);flex-grow:1;display:flex;align-items:flex-end;padding-bottom:2px}.utm-button-wrapper{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:200px}.utm-hidden-label{visibility:hidden;font-size:13px;flex-grow:1;display:flex;align-items:flex-end;padding-bottom:2px}.utm-preview-area{width:100%;min-height:72px;padding:10px 12px;background:var(--bg-body);border:1px solid var(--border);border-radius:8px;color:var(--accent);font-size:13px;font-family:SF Mono,Fira Code,Consolas,monospace;line-height:1.5;word-break:break-all;resize:none;outline:none;cursor:default}.utm-generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;height:100%;min-height:72px;background:var(--accent);color:white;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.utm-generate-btn:hover{opacity:.9}.utm-generate-btn:active{transform:scale(.98)}.utm-generate-btn:disabled{opacity:.5;cursor:not-allowed}.utm-generate-btn.is-copied{background:var(--success)}.utm-history{display:flex;flex-direction:column;gap:16px}.utm-history-header{display:flex;align-items:center;justify-content:space-between}.utm-history-header h2{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.utm-history-count{font-size:13px;color:var(--text-dim)}.utm-history-list{display:flex;flex-direction:column;gap:10px}.utm-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:var(--card-bg);border:1px dashed var(--border);border-radius:12px;text-align:center}.utm-history-empty-icon{color:var(--text-dim);margin-bottom:12px;opacity:.5}.utm-history-empty p{font-size:14px;color:var(--text-dim);margin:0}.utm-history-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease}.utm-history-card:hover{border-color:rgba(255,255,255,.1)}.utm-card-url{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.utm-card-params{display:flex;flex-wrap:wrap;gap:6px}.utm-param-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:500}.utm-param-badge,.utm-param-badge.badge-source{background:rgba(59,130,246,.1);color:var(--accent)}.utm-param-badge.badge-medium{background:rgba(16,185,129,.1);color:var(--success)}.utm-param-badge.badge-campaign{background:rgba(168,85,247,.1);color:#a855f7}.utm-param-badge.badge-term{background:rgba(245,158,11,.1);color:#f59e0b}.utm-param-badge.badge-content{background:rgba(236,72,153,.1);color:#ec4899}.utm-param-badge-key{opacity:.7}.utm-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.utm-card-time{font-size:12px;color:var(--text-dim)}.utm-card-action,.utm-card-actions{display:flex;gap:4px}.utm-card-action{align-items:center;justify-content:center;padding:5px 10px;border:none;background:none;color:var(--text-secondary);font-size:12px;font-family:inherit;border-radius:6px;cursor:pointer;transition:color .15s ease,background-color .15s ease}.utm-card-action:hover{background:var(--bg-hover);color:var(--text-primary)}.utm-card-action.is-danger:hover{color:var(--danger);background:rgba(239,68,68,.1)}.utm-card-action.is-copied{color:var(--success)}@media (max-width:768px){.utm-generate-btn{min-height:48px}.utm-combobox-option,.utm-input,.utm-preview-area{font-size:16px}}.utm-combobox-dropdown::-webkit-scrollbar{width:6px}.utm-combobox-dropdown::-webkit-scrollbar-track{background:transparent}.utm-combobox-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}