/* =========================
MUSICVERSUM GLOBAL STYLE
========================= */

:root{
--bg-main:#070b12;
--bg-secondary:#111821;
--bg-card:#0b111a;


--border:#252f3f;

--text:#ffffff;
--text-light:#cbd5e1;
--text-muted:#a1a1aa;

--primary:#7c3aed;
--primary-hover:#8b5cf6;
--primary-dark:#5b21b6;

--danger:#ef4444;
--success:#22c55e;

--shadow:0 0 50px rgba(139,92,246,.2);


}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Arial,sans-serif;
background:var(--bg-main);
color:var(--text);
}

a{
text-decoration:none;
color:inherit;
}

img{
max-width:100%;
display:block;
}

/* =========================
HEADER
========================= */

.header{
height:72px;
padding:0 8%;
display:flex;
justify-content:space-between;
align-items:center;


border-bottom:1px solid var(--border);

background:rgba(7,11,18,.9);


}

.logo{
font-size:28px;
font-weight:bold;
}

.logo span{
color:var(--primary-hover);
}

.nav{
    display:block;
}

.nav a{
    display:block;
    padding:14px 16px;
    border-radius:12px;
    margin-bottom:8px;
    color:#d1d5db;
}

.nav a:hover,
.nav .active{
    background:linear-gradient(135deg,#4c1d95,#312e81);
    color:white;
}

.logout{
    margin-top:40px;
    color:#fca5a5!important;
}

/* =========================
BUTTONS
========================= */

.btn{
display:inline-block;
padding:14px 22px;
border-radius:12px;
border:none;
cursor:pointer;
transition:.2s;
}

.btn-primary{
background:linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);


color:white;


}

.btn-primary:hover{
background:linear-gradient(
135deg,
var(--primary-hover),
#6d28d9
);
}

.btn-outline{
border:1px solid var(--primary);
color:var(--primary-hover);
}

/* =========================
FORMULAR
========================= */

input,
textarea,
select{


width:100%;
padding:14px;

border-radius:10px;
border:1px solid #374151;

background:var(--bg-card);
color:white;

margin-bottom:15px;


}

input:focus,
textarea:focus,
select:focus{


outline:none;

border-color:var(--primary-hover);

box-shadow:
0 0 0 2px rgba(139,92,246,.25);


}

/* =========================
LOGIN / REGISTER
========================= */

.auth-wrapper{


min-height:100vh;

display:flex;
justify-content:center;
align-items:center;

padding:30px;

background:
    radial-gradient(
        circle at top right,
        rgba(139,92,246,.25),
        transparent 35%
    ),
    linear-gradient(
        135deg,
        var(--bg-main),
        #111827
    );


}

.auth-box{


width:420px;

background:var(--bg-secondary);

border:1px solid var(--border);

border-radius:22px;

padding:35px;

box-shadow:var(--shadow);


}

.auth-box h1,
.auth-box h2{
margin-bottom:10px;
}

.auth-subtitle{
color:var(--text-muted);
margin-bottom:25px;
}

/* =========================
DASHBOARD
========================= */

.app{
    display:grid;
    grid-template-columns:500px 1fr 400px;
    min-height:100vh;
}

.sidebar{


background:var(--bg-card);

border-right:
1px solid var(--border);

padding:24px;


}

.sidebar .logo{
margin-bottom:40px;
}

.sidebar a{


display:block;

padding:14px;

border-radius:12px;

margin-bottom:8px;

color:var(--text-light);


}

.sidebar a:hover,
.sidebar .active{


background:
linear-gradient(
    135deg,
    #4c1d95,
    #312e81
);

color:white;


}

.main{
padding:30px;
}

.topbar{


display:flex;
justify-content:space-between;
align-items:center;

margin-bottom:30px;


}

/* =========================
CARDS
========================= */

.card{


background:var(--bg-secondary);

border:1px solid var(--border);

border-radius:20px;

padding:24px;


}

.card h3{
margin-bottom:10px;
}

.card p{
color:var(--text-muted);
}

.grid{


display:grid;

grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

gap:20px;


}

/* =========================
FEED
========================= */

.feed{


margin-top:25px;

background:var(--bg-secondary);

border:1px solid var(--border);

border-radius:20px;

padding:24px;


}

.feed-item{


padding:15px 0;

border-bottom:
1px solid #1f2937;


}

.feed-item:last-child{
border-bottom:none;
}


/* =========================
MESSAGES
========================= */

.message{


padding:12px;

margin-bottom:15px;

border-radius:10px;


}

.success{


background:
rgba(34,197,94,.12);

border:
1px solid rgba(34,197,94,.35);

color:#86efac;


}

.error{


background:
rgba(239,68,68,.12);

border:
1px solid rgba(239,68,68,.35);

color:#fca5a5;


}

/* =========================
MOBILE
========================= */

@media(max-width:900px){


.sidebar{
    border-right:none;
    border-bottom:1px solid var(--border);
}

.topbar{
    flex-direction:column;
    gap:15px;
    align-items:flex-start;
}

.header{
    padding:0 5%;
}


}

.feed-editor{
    width:100%;
    min-height:180px;

    resize:vertical;

    padding:18px;

    border-radius:18px;

    font-size:16px;
    line-height:1.6;

    background:#111821;
    border:1px solid #252f3f;

    color:white;

    margin-bottom:15px;
}

.feed-editor:focus{
    outline:none;
    border-color:#8b5cf6;
    box-shadow:0 0 12px rgba(139,92,246,.25);
}

.sidebar .nav{
    display:flex !important;
    flex-direction:column !important;
}

.sidebar .nav a{
    display:block !important;
    width:100%;
}

.sidebar{
    width:300px;
    min-height:100vh;
    background:#0b111a;
    border-right:1px solid #1f2937;
    padding:24px;
}

.main{
    padding:30px;
    min-width:0;
}

.sidebar .nav{
    display:flex !important;
    flex-direction:column !important;
    gap:8px;
}

.sidebar .nav a{
    display:block !important;
    width:100% !important;
    padding:14px 16px;
    border-radius:12px;
}

.sidebar .nav .active{
    background:linear-gradient(135deg,#4c1d95,#312e81);
}

.post-card{
    background:#0b111a;
    border:1px solid #252f3f;
    border-radius:18px;
    padding:20px;
    margin-bottom:18px;
}

.post-header{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
}

.post-avatar{
    width:52px;
    height:52px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #8b5cf6;
}

.post-header small{
    color:#a1a1aa;
}

.post-content{
    color:#e5e7eb;
    line-height:1.6;
    margin-bottom:18px;
    white-space:normal;
}

.post-actions{
    display:flex;
    gap:12px;
    border-top:1px solid #1f2937;
    padding-top:14px;
}

.post-actions button{
    background:none;
    border:none;
    color:#cbd5e1;
    cursor:pointer;
    padding:8px 10px;
    border-radius:10px;
}

.post-actions button:hover{
    background:rgba(139,92,246,.15);
    color:white;
}

.comment-actions {
    margin-top: 8px;
}

.comment-actions button {
    background:none;
    border:none;
    color:#cbd5e1;
    cursor:pointer;
    padding:8px 10px;
    border-radius:10px;
}

.comment-actions button:hover {
     background:rgba(139,92,246,.15);
    color:white;
}

.comments-section{
    margin-top:18px;
    border-top:1px solid #1f2937;
    padding-top:18px;
}

.comment{
    background:#111821;
    border-radius:12px;
    padding:12px;
    margin-bottom:10px;
}

.comment small{
    color:#9ca3af;
}

.comment p{
    margin-top:6px;
}

.comment-form{
    display:flex;
    gap:10px;
    margin-top:14px;
}

.comment-form input{
    flex:1;
}

.comment-header{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
}

.comment-avatar{
    width:40px;
    height:40px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #8b5cf6;
    flex-shrink:0;
}

.comment-header a{
    color:#fff;
    text-decoration:none;
}

.comment-header a:hover{
    color:#a78bfa;
}

.profile-compact-header{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px 22px;
    margin-bottom:22px;
}

.profile-compact-avatar{
    width:84px;
    height:84px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid var(--primary-hover);
    flex-shrink:0;
}

.profile-compact-info h1{
    font-size:28px;
    margin-bottom:4px;
}

.profile-compact-info p{
    color:var(--text-light);
    margin-bottom:4px;
}

.profile-compact-info small{
    color:var(--text-muted);
}

.profile-summary{
    margin-bottom:25px;
    padding:18px 24px;
}

.profile-summary p{
    margin:10px 0;
    color:#cbd5e1;
    line-height:1.6;
}

.band-card{
    display:flex;
    gap:20px;
    align-items:flex-start;
}
.band-logo{
    width:140px;
    max-height:90px;

    object-fit:contain;

    border:2px solid #8b5cf6;
    border-radius:12px;

    background:#111821;
    padding:8px;

    flex-shrink:0;
}

.band-content{
    flex:1;
}

.site-logo{
    max-width:150px;
    height:auto;
    display:block;
}

.logo{
    margin-bottom:25px;
}

.topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;

    margin-bottom:28px;
    padding:14px 18px;

    background:#0b111a;
    border:1px solid #252f3f;
    border-radius:18px;
}

.topbar-search{
    flex:1;
    max-width:520px;
}

.topbar-search input{
    width:100%;
    padding:12px 14px;

    border-radius:12px;
    border:1px solid #252f3f;

    background:#111821;
    color:white;
}

.topbar-user{
    display:flex;
    align-items:center;
    gap:14px;
    color:#cbd5e1;
    font-size:14px;
}

.topbar-profile-link{
    padding:9px 13px;
    border-radius:10px;
    background:#7c3aed;
    color:white;
    text-decoration:none;
}

.topbar-profile-link:hover{
    background:#8b5cf6;
}

.rightbar{
    width:300px;
    min-height:100vh;
    background:#0b111a;
    border-left:1px solid #1f2937;
    padding:24px;
    text-align: center;
}

.rightbar .card{
    position:sticky;
    top:24px;

    margin-top:180px;
}

.band-members-list{
    display:grid;
    gap:14px;
}

.band-member{
    display:flex;
    align-items:center;
    gap:12px;

    padding:12px;
    border-radius:14px;
    background:#0b111a;
    border:1px solid #252f3f;
}

.band-member-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #8b5cf6;
}

.band-member small{
    color:#a1a1aa;
}

.join-band-form{
    display:grid;
    gap:12px;
}

.band-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin-bottom:24px;
}

.band-members-card,
.band-socials-card{
    min-height:260px;
}

.empty-icon{
    font-size:72px;
    opacity:.15;
    text-align:center;
    margin:35px 0 20px;
}

.muted{
    color:#a1a1aa;
    text-align:center;
}

.social-link-list{
    display:grid;
    gap:10px;
    margin-top:18px;
}

.social-link-list a{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:13px 15px;

    border-radius:12px;
    border:1px solid #252f3f;
    background:#0b111a;

    color:#e5e7eb;
    text-decoration:none;
}

.social-link-list a:hover{
    border-color:#8b5cf6;
    background:rgba(139,92,246,.12);
}

@media(max-width:900px){
    .band-info-grid{
        grid-template-columns:1fr;
    }
}

.twitch-preview{
    display:flex;
    align-items:center;
    gap:16px;

    margin-top:14px;
    padding:14px;

    border-radius:14px;
    border:1px solid #252f3f;

    background:#0b111a;

    text-decoration:none;
    color:white;

    max-width:520px;
}

.twitch-preview:hover{
    border-color:#8b5cf6;
}

.twitch-icon{
    font-size:42px;
}

.register-hint{
    margin-top:10px;
    font-size:14px;
    color:#9ca3af;
    line-height:1.5;
}

input,
select {
    width: 100%;
    padding: 14px;
    margin-bottom: 15px;
    border-radius: 11px;
    border: 1px solid #374151;
    background: #0b111a;
    color: white;
    font-size: 15px;
}

input:focus,
select:focus {
    outline: none;
    border-color: #8b5cf6;
    box-shadow: 0 0 0 2px rgba(139,92,246,0.25);
}

.action-button {
    background: transparent;
    border: none;
    color: #cbd5e1;
    cursor: pointer;
    font-size: 14px;
}

.action-button:hover {
    color: #8b5cf6;
}

.liked-button {
    color: #facc15;
}

.connection-request{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:12px 0;
    border-bottom:1px solid #252f3f;
}

.connection-request:last-child{
    border-bottom:none;
}

.connection-avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #8b5cf6;
      flex-shrink:0;
}

.connection-info{
    flex:1;
}

.connection-info small{
    display:block;
    color:#a1a1aa;
    margin-top:3px;
}

.connection-actions{
    display:flex;
    gap:8px;
    margin-top:10px;
}

.connection-actions form{
    display:inline;
}

.connection-actions button{
    font-size:12px;
    padding:6px 9px;
}   

.rightbar-divider{
    border:none;
    border-top:1px solid #252f3f;
    margin:18px 0;
}

.contact-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 0;
    color:#e5e7eb;
    text-decoration:none;
}

.contact-item:hover span{
    color:#a78bfa;
}

.notification-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:22px;
    height:22px;
    padding:0 7px;
    margin-left:8px;

    border-radius:999px;

    background:#7c3aed;
    color:white;

    font-size:12px;
    font-weight:bold;
}

.rightbar-subtitle{
    margin:14px 0 8px;
    font-size:14px;
    color:#a78bfa;
}

textarea.feed-editor{
    min-height:90px !important;
    height:90px !important;
}

.contact-avatar-wrapper{
    position:relative;
    display:inline-block;
    flex-shrink:0;
}

.online-dot{
    position:absolute;
    right:0;
    bottom:0;

    width:12px;
    height:12px;

    background:#22c55e;
    border:2px solid #0b111a;
    border-radius:50%;
}

.feed + .post-card{
    margin-top:24px;
}

.post-card{
    margin-bottom:24px;
}
.footer{
    margin-top:40px;
    padding:20px;

    border-top:1px solid #1f2937;

    color:#9ca3af;
    text-align:center;
}

.footer-links{
    display:flex;
    justify-content:center;
    gap:20px;

    margin-bottom:10px;
}

.footer-links a{
    color:#a78bfa;
    text-decoration:none;
}

.footer-links a:hover{
    text-decoration:underline;
}

.like-icon{
    color:#9ca3af;
}

.liked-button .like-icon{
    color:#a855f7;
}

.action-button{
    color:#d1d5db;
    border:1px solid transparent;
    transition:all .2s ease;
}

.action-button:hover{
    color:#ffffff;
}

.liked-button{
    color:#a855f7;
    background:rgba(168,85,247,.12);
}