/* ==================================
   RESET
================================== */

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

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f5f5;
    color:#222;
}

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

button,
input,
select{
    font:inherit;
}

/* ==================================
   LAYOUT
================================== */

#app{
    display:flex;
    min-height:100vh;
}

.main{
    flex:1;
    padding:20px;
}

/* ==================================
   SIDEBAR
================================== */

.sidebar{
    width:240px;
    background:#1f2937;
    color:#fff;
    padding:20px;
}

.logo{
    margin-bottom:30px;
}

.logo h2{
    font-size:22px;
    margin-bottom:5px;
}

.logo p{
    font-size:13px;
}

.sidebar nav{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.sidebar nav a{
    padding:10px 14px;
}

.sidebar nav a.active{
    background:#2563eb;
    border-radius:4px;
}

/* ==================================
   TOPBAR
================================== */

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

.topbar h1{
    font-size:28px;
}

.topbar p{
    color:#666;
    font-size:14px;
}

.profile{
    width:40px;
    height:40px;
    border-radius:50%;
    background:#2563eb;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-weight:bold;
}

/* ==================================
   TABLE
================================== */

.table-wrapper{
    background:#fff;
    border:1px solid #ddd;
    overflow-x:auto;
}

.project-table{
    min-width:1850px;
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}

.project-table th,
.project-table td{
    border:1px solid #ddd;
    padding:8px;
    vertical-align:top;
}

.project-table th{
    background:#f3f4f6;
    text-align:left;
    font-size:12px;
    font-weight:bold;
    white-space:nowrap;
}

.project-table tbody tr:hover{
    background:#f7f4f2;
}

.project-table thead th{
    position:sticky;
    top:0;
    z-index:10;
    background:#f6f3f3;
}

/* ==================================
   COLUMN WIDTHS
================================== */

.project-table th:nth-child(1),
.project-table td:nth-child(1){
    width:180px;
}

.project-table th:nth-child(2),
.project-table td:nth-child(2){
    width:160px;
}

.project-table th:nth-child(3),
.project-table td:nth-child(3){
    width:170px;
}

.project-table th:nth-child(4),
.project-table td:nth-child(4){
    width:190px;
}

.project-table th:nth-child(5),
.project-table td:nth-child(5){
    width:120px;
}

.project-table th:nth-child(6),
.project-table td:nth-child(6),
.project-table th:nth-child(7),
.project-table td:nth-child(7),
.project-table th:nth-child(8),
.project-table td:nth-child(8),
.project-table th:nth-child(9),
.project-table td:nth-child(9){
    width:250px;
}

/* ==================================
   INPUTS
================================== */

.text-input{
    width:100%;
    border:none;
    background:transparent;
    padding:4px 6px;
    font-size:13px;
    outline:none;
}

.text-input:focus{
    background:#eef6ff;
    border:1px solid #3b82f6;
}

.status-select,
.type-select{
    width:150px;
    height:28px;
    padding:2px 6px;
    font-size:12px;
    font-weight:600;
    border:1px solid #cfcfcf;
    background:#fff;
    cursor:pointer;
    outline:none;
}

.status-select:focus,
.type-select:focus{
    border-color:#2563eb;
}

/* RAW FILES INPUT */

.project-table input[type="url"]{
    width:100%;
    height:28px;
    padding:0 6px;
    border:1px solid #d1d5db;
    border-radius:4px;
}

/* ==================================
   SONG CARD
================================== */

.song-cell{
    width:250px;
}

.song-card{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.song-actions{
    display:flex;
    justify-content:space-between;
    gap:6px;
}

.song-link{
    width:100%;
    height:25px;
    padding:0 2px;
    border:1px solid #d1d5db;
    border-radius:4px;
}

.song-status{
    width:48%;
    height:30px;
    padding:0 2px;
    border:1px solid #d1d5db;
    border-radius:4px;
    background:#fff;
}

.generate-btn{
    width:48%;
    height:30px;
    background:#2563eb;
    color:#fff;
    border:none;
    border-radius:4px;
    cursor:pointer;
    font-weight:600;
}

.generate-btn:hover{
    background:#1d4ed8;
}

/* ==================================
   LINKS
================================== */

.project-table a{
    color:#2563eb;
    font-weight:600;
}

.project-table a:hover{
    text-decoration:underline;
}