body.ncap-modal-open { overflow: hidden; }
.ncap-modal[hidden] { display: none !important; }

.ncap-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 44px;
    padding: 10px 18px;
    border: 0;
    border-radius: 999px;
    color: #07150c;
    background: var(--primary, #1db954);
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.ncap-button-secondary { border: 1px solid var(--border,rgba(255,255,255,.15)); color: #fff; background: transparent; }

.ncap-playlist-dialog { width: min(92vw, 560px); max-height: min(80vh, 720px); overflow: auto; }
.ncap-modal-subtitle,.ncap-form-feedback,.ncap-empty-copy { color: var(--text-secondary,#b3b3b3); }
.ncap-playlist-options { display: grid; gap: 8px; max-height: 290px; overflow-y: auto; margin: 18px 0; }
.ncap-playlist-option { display: flex; justify-content: space-between; padding: 14px 16px; border: 1px solid var(--border,rgba(255,255,255,.1)); border-radius: 12px; color:#fff; background:#202020; cursor:pointer; text-align:left; }
.ncap-playlist-option:hover { border-color: var(--primary,#1db954); }
.ncap-playlist-option small { color:var(--text-muted,#888); text-transform:capitalize; }
.ncap-inline-form { display:grid; grid-template-columns:minmax(0,1fr) 120px auto; gap:8px; }
.ncap-inline-form input,.ncap-inline-form select { min-height:44px; padding:10px 12px; border:1px solid var(--border,rgba(255,255,255,.12)); border-radius:10px; color:#fff; background:#111; }

.ncap-social-page,.ncap-dashboard-page { max-width:1240px; margin:0 auto; padding:42px 28px 120px; }
.ncap-page-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:30px; }
.ncap-playlist-hero,.ncap-dashboard-hero { display:flex; align-items:center; gap:28px; padding:28px; margin-bottom:28px; border:1px solid var(--border,rgba(255,255,255,.1)); border-radius:24px; background:linear-gradient(135deg,#26342d,#181818 60%); }
.ncap-playlist-cover,.ncap-playlist-art { display:grid; flex:0 0 auto; width:160px; aspect-ratio:1; place-items:center; border-radius:16px; color:var(--primary,#1db954); background:#101713; font-size:4rem; }
.ncap-playlist-tracks { display:grid; gap:2px; }

.ncap-playlist-manager-grid { display:grid; gap:12px; }
.ncap-manager-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px; border:1px solid var(--border,rgba(255,255,255,.1)); border-radius:16px; background:var(--card-bg,#181818); }
.ncap-manager-card-main { display:flex; align-items:center; gap:16px; min-width:0; color:inherit; text-decoration:none; }
.ncap-manager-card .ncap-playlist-art { width:72px; border-radius:10px; font-size:2rem; }
.ncap-manager-card h2 { margin:0 0 5px; font-size:1rem; }
.ncap-manager-card p { margin:0; color:var(--text-secondary,#b3b3b3); font-size:.84rem; }
.ncap-manager-actions { display:flex; gap:8px; }
.ncap-manager-actions input,.ncap-manager-actions select,.ncap-manager-actions button { min-height:38px; padding:8px 10px; border:1px solid var(--border,rgba(255,255,255,.1)); border-radius:8px; color:#fff; background:#242424; }
.ncap-manager-actions button { cursor:pointer; }
.ncap-manager-actions .danger { color:#ff8c8c; }

.ncap-dashboard-hero img { width:96px; height:96px; border-radius:50%; object-fit:cover; }
.ncap-dashboard-actions { display:flex; gap:10px; margin-left:auto; }
.ncap-loading-card,.ncap-error-state { padding:30px; border-radius:16px; color:var(--text-secondary,#b3b3b3); background:var(--card-bg,#181818); text-align:center; }
.ncap-stat-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.ncap-stat-card { display:grid; gap:4px; padding:22px; border:1px solid var(--border,rgba(255,255,255,.1)); border-radius:16px; background:var(--card-bg,#181818); }
.ncap-stat-card strong,.ncap-performance-grid strong { font-size:clamp(1.5rem,3vw,2.2rem); }
.ncap-stat-card span,.ncap-performance-grid span { color:var(--text-secondary,#b3b3b3); font-size:.82rem; }
.ncap-dashboard-columns { display:grid; grid-template-columns:2fr 1fr; gap:18px; }
.ncap-dashboard-card { padding:24px; border:1px solid var(--border,rgba(255,255,255,.1)); border-radius:18px; background:var(--card-bg,#181818); }
.ncap-performance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ncap-performance-grid>div { display:grid; gap:4px; }
.ncap-quick-links { display:grid; gap:10px; }
.ncap-quick-links a { padding:12px; border-radius:10px; color:#fff; background:#222; text-decoration:none; }

@media(max-width:820px){
    .ncap-social-page,.ncap-dashboard-page{padding:28px 16px 110px}
    .ncap-page-heading,.ncap-dashboard-hero{align-items:flex-start;flex-direction:column}
    .ncap-dashboard-actions{width:100%;margin-left:0;flex-wrap:wrap}
    .ncap-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ncap-dashboard-columns{grid-template-columns:1fr}
    .ncap-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ncap-inline-form{grid-template-columns:1fr}
    .ncap-playlist-hero{align-items:flex-start;flex-direction:column}
    .ncap-playlist-cover{width:120px}
    .ncap-manager-card{align-items:flex-start;flex-direction:column}
    .ncap-manager-actions{width:100%}
}
.ncap-profile-edit-page{max-width:980px;margin:0 auto;padding:40px 24px 140px}.ncap-form-header{margin-bottom:24px}.ncap-form-header h1{font-size:clamp(32px,5vw,52px);margin:6px 0}.ncap-profile-edit-form{background:#181818;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:24px}.ncap-profile-image-fields{display:grid;grid-template-columns:180px 1fr;gap:24px;margin-bottom:24px}.ncap-profile-image-fields label,.ncap-form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:600}.ncap-profile-image-fields img{width:132px;height:132px;border-radius:50%;object-fit:cover}.ncap-cover-preview{align-items:flex-end;background:#282828 center/cover no-repeat;border-radius:12px;cursor:grab;display:flex;height:132px;justify-content:center;overflow:hidden;touch-action:none;user-select:none}.ncap-cover-preview.is-dragging{cursor:grabbing}.ncap-cover-preview span{background:rgba(0,0,0,.68);border-radius:999px;font-size:12px;margin:10px;padding:6px 10px;pointer-events:none}.ncap-cover-preview:focus{outline:2px solid #1db954;outline-offset:3px}.ncap-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ncap-form-grid input,.ncap-form-grid textarea{background:#101010;border:1px solid rgba(255,255,255,.15);border-radius:9px;color:#fff;padding:12px;width:100%}.ncap-field-wide{grid-column:1/-1}.ncap-form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.ncap-follow-btn[disabled]{cursor:wait;opacity:.65}@media(max-width:700px){.ncap-profile-image-fields,.ncap-form-grid{grid-template-columns:1fr}.ncap-field-wide{grid-column:auto}}
.ncap-follow-modal .ncap-modal-content,#ncap-follow-modal .ncap-modal-content{max-width:460px;width:min(92vw,460px)}#ncap-follow-list{display:flex;flex-direction:column;max-height:min(62vh,560px);overflow-y:auto;padding:4px}.ncap-follow-item{align-items:center;border-radius:12px;color:#fff;display:flex;gap:13px;padding:10px;text-decoration:none}.ncap-follow-item:hover{background:rgba(255,255,255,.07)}.ncap-follow-item img{border-radius:50%;flex:0 0 52px;height:52px;object-fit:cover;width:52px}.ncap-follow-item span{display:flex;flex-direction:column;min-width:0}.ncap-follow-item strong,.ncap-follow-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ncap-follow-item small{color:#aaa;margin-top:3px}#ncap-follow-status{margin:8px 0 0;min-height:18px;text-align:center}
.ncap-owned-playlist-row{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto}.ncap-playlist-order-actions{display:flex;gap:5px;padding:0 8px}.ncap-playlist-order-actions button{background:#282828;border:0;border-radius:6px;color:#fff;cursor:pointer;height:32px;width:32px}.ncap-playlist-order-actions [data-remove-playlist-track]{color:#ff8b8b}
.ncap-playlist-cover,.ncap-playlist-art{background-position:center;background-repeat:no-repeat;background-size:cover}.ncap-play-playlist{margin-top:14px}.ncap-playlist-cover-field{display:flex;flex:1 0 100%;flex-direction:column;gap:6px}.ncap-playlist-cover-field span{font-size:13px;font-weight:600}.ncap-playlist-cover-field input{width:100%}
.nc-identity-form{display:grid;gap:10px}.nc-identity-form input,.nc-identity-form select{background:#101010;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#fff;padding:12px;width:100%}.nc-identity-form button{background:#1db954;border:0;border-radius:999px;color:#07150b;cursor:pointer;font-weight:700;padding:12px}.nc-identity-form [data-nc-code-step]{display:grid;gap:10px}.nc-identity-form [data-nc-code-step][hidden]{display:none}.nc-identity-form fieldset{border:1px solid rgba(255,255,255,.14);border-radius:9px;display:flex;gap:16px;padding:12px}.nc-identity-form fieldset label{align-items:center;display:flex;gap:6px}.nc-identity-form fieldset input{width:auto}.nc-auth-divider{align-items:center;color:#aaa;display:flex;font-size:12px;gap:8px;margin:14px 0}.nc-auth-divider:before,.nc-auth-divider:after{background:rgba(255,255,255,.14);content:\"\";height:1px;flex:1}.nc-google-button{display:flex;justify-content:center;margin-top:14px}
.ncn-sidebar-center{position:relative}.ncn-bell{align-items:center;display:flex;gap:9px}.ncn-bell strong{background:#1db954;border-radius:999px;color:#07150b;font-size:11px;min-width:20px;padding:2px 6px;text-align:center}.ncn-dropdown{background:#181818;border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 16px 50px rgba(0,0,0,.5);left:calc(100% + 12px);overflow:hidden;position:absolute;top:0;width:360px;z-index:1000}.ncn-dropdown[hidden]{display:none}.ncn-dropdown-head{align-items:center;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;padding:14px}.ncn-dropdown-head button,.ncn-item button{background:none;border:0;color:#1db954;cursor:pointer}.ncn-view-all{display:block;padding:13px;text-align:center}.ncn-page{margin:0 auto;max-width:1180px;padding:42px 28px 140px}.ncn-page-head{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:28px}.ncn-page-head h1{font-size:clamp(36px,6vw,64px);margin:4px 0}.ncn-page-head p{color:#aaa}.ncn-layout{display:grid;gap:20px;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.ncn-list,.ncn-preferences{background:#181818;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden}.ncn-item{border-bottom:1px solid rgba(255,255,255,.08);display:flex;padding:4px 14px}.ncn-item.is-unread{background:rgba(29,185,84,.08)}.ncn-item>a{align-items:center;color:inherit;display:flex;flex:1;gap:12px;padding:13px 0;text-decoration:none}.ncn-item>a>span:last-child{display:grid;gap:3px}.ncn-item small,.ncn-item time{color:#aaa;display:block;font-size:12px}.ncn-item-icon{align-items:center;background:#282828;border-radius:50%;display:flex;height:38px;justify-content:center;width:38px}.ncn-preferences{align-self:start;padding:22px}.ncn-preferences form{display:grid;gap:16px}.ncn-preferences label{display:grid;gap:7px}.ncn-preferences select{background:#101010;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#fff;padding:11px}.ncn-empty,.ncn-loading{color:#aaa;padding:28px;text-align:center}@media(max-width:900px){.ncn-dropdown{left:0;position:fixed;right:12px;top:70px;width:auto}.ncn-layout{grid-template-columns:1fr}.ncn-page-head{align-items:flex-start;flex-direction:column;gap:14px}}
.ncn-delete{align-self:center;color:#999!important;font-size:22px}.ncn-load-more{color:#999;padding:18px;text-align:center}.ncn-preferences fieldset{border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px}.ncn-category-list{display:grid;gap:10px;margin-top:10px}.ncn-category-list .ncn-category{align-items:center;display:flex;gap:8px}.ncn-category input{margin:0}
