body{margin:0}:root{--bg:#0a0a0a;--surface:#161616;--surface2:#1f1f1f;--surface3:#262626;--border:#2e2e2e;--accent:#f60;--accent-dim:#cc5200;--text:#f0f0f0;--text-muted:#888;--danger:#e05252;--success:#4caf7a;--warning:#e09050;--radius:8px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body.artist-portal{--accent:#f60;--accent-dim:#cc5200;--bg:#000;--surface:#111;--surface2:#1a1a1a;--surface3:#222;--border:#2a2a2a}body.artist-portal .nav{border-bottom-color:#f60}body.artist-portal .nav-brand{color:#f60}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5}.nav{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;align-items:center;gap:32px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.nav-brand{color:var(--accent);letter-spacing:.3px;flex-shrink:0;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.nav-links{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{color:var(--text-muted);border-radius:6px;padding:6px 10px;font-size:13px;text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--surface2)}.nav-link.active{color:var(--accent)}.main{max-width:1200px;margin:0 auto;padding:32px 24px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-title{font-size:22px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:3px;font-size:13px}h1{font-size:22px;font-weight:700}h2{font-size:16px;font-weight:600}h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.btn{cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;transition:opacity .15s;display:inline-flex}.btn:hover:not(:disabled){opacity:.82}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#000}.btn-ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-success{color:var(--success);border:1px solid var(--success);background:0 0}.btn-sm{padding:4px 10px;font-size:12px}.btn-xs{padding:2px 8px;font-size:11px}input,select,textarea{background:var(--surface2);border:1px solid var(--border);color:var(--text);width:100%;font-size:13px;font-family:var(--font);border-radius:6px;outline:none;padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}select option{background:var(--surface2)}input[type=checkbox]{cursor:pointer;width:auto;accent-color:var(--accent)}.field{flex-direction:column;gap:5px;display:flex}label{color:var(--text-muted);font-size:12px}.form-gap{flex-direction:column;gap:14px;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.form-row-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.checkbox-row{cursor:pointer;color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.error-msg{color:var(--danger);font-size:12px}.warning-msg{color:var(--warning);font-size:12px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.4px;padding:8px 14px;font-size:11px;font-weight:500}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface2)}.td-actions{gap:6px;display:flex}.td-muted{color:var(--text-muted)}.td-mono{font-variant-numeric:tabular-nums}.text-right{text-align:right}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-pad{padding:20px}.card-table{padding:0;overflow:hidden}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.stat{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.stat-value{font-variant-numeric:tabular-nums;margin-top:5px;font-size:22px;font-weight:700}.stat-sub{color:var(--text-muted);margin-top:3px;font-size:11px}.tag{white-space:nowrap;border-radius:100px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.tag-active{color:var(--success);background:#1a3a2a}.tag-released{color:var(--accent);background:#2a2a1a}.tag-archived{background:var(--surface2);color:var(--text-muted)}.tag-recoupable{color:#e08080;background:#2a1a1a}.tag-paid{color:var(--success);background:#1a2a1a}.tag-group{color:#8080e0;background:#1a1a2a}.progress-bar{background:var(--surface3);border-radius:3px;height:5px;margin-top:6px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.section{margin-top:28px}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-title{font-size:15px;font-weight:600}.modal-overlay{z-index:200;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;max-height:90vh;padding:24px;overflow-y:auto}.modal-wide{max-width:640px}.modal-title{margin-bottom:20px;font-size:16px;font-weight:600}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.back-link{color:var(--text-muted);align-items:center;gap:4px;margin-bottom:20px;font-size:13px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text)}.empty,.loading{color:var(--text-muted);text-align:center;padding:32px;font-size:13px}.flex{align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.ml-auto{margin-left:auto}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.color-success{color:var(--success)}.color-danger{color:var(--danger)}.color-accent{color:var(--accent)}.color-muted{color:var(--text-muted)}.font-bold{font-weight:700}.font-mono{font-variant-numeric:tabular-nums}.divider{border:none;border-top:1px solid var(--border);margin:24px 0}.recoup-block{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.recoup-block-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.recoup-block-title{font-size:13px;font-weight:600}.recoup-block-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.recoup-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.release-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;text-decoration:none;transition:border-color .15s;display:flex}.release-card:hover{border-color:var(--accent-dim)}.release-card-title{font-size:14px;font-weight:600}.release-card-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.releases-list{flex-direction:column;gap:8px;display:flex}.release-album-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px;display:grid}.release-album-card{color:inherit;cursor:pointer;flex-direction:column;gap:10px;text-decoration:none;display:flex}.release-album-card:hover .release-album-art img,.release-album-card:hover .release-album-art>div{opacity:.85}.release-album-art{aspect-ratio:1;border-radius:var(--radius);background:var(--surface2);border:1px solid var(--border);width:100%;position:relative;overflow:hidden}.release-album-status{position:absolute;bottom:6px;left:6px}.release-album-info{flex-direction:column;gap:2px;display:flex}.release-album-title{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.release-album-artist{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.release-album-date{color:var(--text-muted);font-size:11px}.detail-grid{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}.detail-grid>*{min-width:0}@media (width<=900px){.detail-grid{grid-template-columns:1fr}}@media (width<=768px){.nav{flex-wrap:wrap;gap:0;height:auto;padding:0 16px}.nav-brand{padding:14px 0}.nav-links{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-top:1px solid var(--border);gap:2px;width:100%;padding:6px 0 10px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:12px}.main{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.page-header>.flex{flex-wrap:wrap}.page-title{word-break:break-word;font-size:18px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-value{font-size:18px}.card-table,.card-pad{-webkit-overflow-scrolling:touch;overflow-x:auto}th,td{white-space:nowrap;padding:8px 10px}.td-actions{flex-wrap:wrap;gap:4px}.form-row-3{grid-template-columns:1fr}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:12px 12px 0 0;max-height:92vh;padding:20px 16px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{justify-content:center;width:100%}.recoup-grid{grid-template-columns:repeat(2,1fr)}.recoup-block-header{flex-wrap:wrap;gap:8px}.recoup-block{padding:12px}.release-card{flex-direction:column;align-items:flex-start}.release-card-meta{word-break:break-word}.section-header{flex-wrap:wrap;gap:8px}.flex.gap-8{flex-wrap:wrap}.stat-label,.stat-sub{font-size:10px}}@media (width<=480px){.stat-grid{grid-template-columns:1fr 1fr}.recoup-grid{grid-template-columns:1fr}.page-title{font-size:16px}table{min-width:300px}th,td{padding:8px 10px}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-list{flex-direction:column;gap:10px;display:flex}.skeleton-row{background:linear-gradient(90deg, var(--surface) 25%, #2a2a2a 50%, var(--surface) 75%);background-size:800px 100%;border-radius:8px;height:44px;animation:1.4s linear infinite shimmer}.skeleton-card{background:linear-gradient(90deg, var(--surface) 25%, #2a2a2a 50%, var(--surface) 75%);background-size:800px 100%;border-radius:10px;height:200px;animation:1.4s linear infinite shimmer}.mb-16{margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,a:focus-visible,.btn:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible,label:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);outline:none}
