.shortener { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:24px; }
.shortener summary { cursor:pointer; display:flex; align-items:center; gap:12px; color:var(--muted); padding:13px 0; font-size:12px; }
.shortener summary>span:first-child { display:flex; align-items:center; gap:9px; }
.shortener summary:after { content:'+'; margin-left:auto; font-size:18px; }
.shortener[open] summary:after { content:'−'; }
.short-count { font-size:10px; color:var(--quiet); }
.shortener-body { padding:4px 0 18px; }
.short-type { display:flex; gap:3px; margin-bottom:12px; }
.short-type label { padding:6px 12px; font-size:12px; cursor:pointer; border:1px solid var(--line); border-radius:4px; }
.short-type label:has(input:checked) { border-color:var(--accent); color:var(--accent); background:color-mix(in srgb,var(--accent) 8%,transparent); }
.short-type input { position:absolute; opacity:0; width:1px; height:1px; }
.short-type label:focus-within { outline:1px solid var(--accent); }
.short-fields { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.short-fields label { display:grid; gap:5px; min-width:0; font-size:11px; color:var(--quiet); }
.short-fields .short-url-field,.short-fields .short-file-field { flex:1 1 280px; }
.short-fields .short-title-field { flex:1 1 180px; }
.shortener input,.shortener select { max-width:100%; min-width:0; background:var(--surface); border:1px solid var(--line); color:var(--text); border-radius:4px; padding:8px 9px; font-size:12px; }
.shortener input[type=file] { padding:6px; }
.short-file-name { overflow-wrap:anywhere; }
.shortener button { display:grid; place-items:center; width:30px; height:30px; border:0; border-radius:4px; color:var(--muted); background:transparent; cursor:pointer; flex-shrink:0; }
.shortener button:hover { background:var(--hover); color:var(--text); }
.shortener button:disabled { opacity:.35; cursor:default; }
.shortener .short-create { width:34px; height:34px; background:var(--accent); color:var(--bg); }
.short-status { font-size:12px; color:var(--accent); overflow-wrap:anywhere; padding:10px 0; min-height:20px; }
.short-list-head { display:flex; justify-content:flex-end; padding:3px 0; }
.short-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.short-row:last-child { border-bottom:0; }
.short-info { display:grid; gap:4px; min-width:0; }
.short-info a { color:var(--accent); font-size:13px; }
.short-info span { color:var(--muted); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.short-info small { color:var(--quiet); font-size:10px; }
.short-row-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:4px; flex-shrink:0; max-width:55%; }
.short-row-actions select { font-size:11px; padding:6px; max-width:110px; }
.short-row-actions .short-delete { color:#ed7d86; }
.short-empty { color:var(--quiet); font-size:12px; padding:12px 0; }
.short-upload { display:flex; align-items:center; gap:10px; padding:10px 0; font-size:12px; }
.short-upload span { overflow-wrap:anywhere; min-width:0; }
.short-upload progress { flex:1; min-width:40px; accent-color:var(--accent); }
@media(max-width:600px) { .short-row { align-items:start; flex-direction:column; gap:8px; }.short-info { width:100%; }.short-row-actions { max-width:100%; }.short-fields>label { flex:1 1 100%; }.short-fields .short-title-field { flex-basis:100%; } }
