/* ==========================================
   Atlas Dashboard
   Layout
========================================== */

/* ===== App ===== */

.app{
    display:grid;
    grid-template-columns:270px 1fr;
    min-height:100vh;
    background:var(--background);
}

/* ==========================================
   Sidebar
========================================== */

.sidebar{

    background:var(--sidebar-bg);

    border-right:1px solid var(--border);

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    padding:24px;

    transition:.3s;

}

/* Logo */

.logo{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:40px;

}

.logo-icon{

    width:52px;

    height:52px;

    border-radius:16px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

    color:#fff;

    font-size:22px;

    font-weight:700;

    box-shadow:var(--shadow-sm);

}

.logo-text h2{

    font-size:20px;

    margin-bottom:2px;

}

.logo-text span{

    font-size:13px;

    color:var(--text-light);

}

/* =====================
Navigation
===================== */

nav{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.nav-item{

    display:flex;

    align-items:center;

    gap:14px;

    height:54px;

    padding:0 18px;

    border-radius:16px;

    color:var(--sidebar-text);

    transition:.25s;

    font-weight:500;

}

.nav-item svg{

    width:20px;

    height:20px;

}

.nav-item:hover{

    background:var(--sidebar-hover);

    color:var(--primary);

    transform:translateX(4px);

}

.nav-item.active{

    background:var(--primary);

    color:#fff;

    box-shadow:var(--shadow-sm);

}

.nav-item.active:hover{

    transform:none;

}

/* =====================
Sidebar Footer
===================== */

.sidebar-footer{

    margin-top:40px;

}

.office-card{

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

    border-radius:18px;

    padding:18px;

    color:white;

    box-shadow:var(--shadow-md);

}

.office-card strong{

    display:block;

    font-size:17px;

}

.office-card small{

    opacity:.85;

}

/* ==========================================
   Main
========================================== */

.main{

    display:flex;

    flex-direction:column;

    min-height:100vh;

}

/* ==========================================
   Header
========================================== */

.header{

    height:72px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 30px;

    position:sticky;

    top:0;

    z-index:50;

    background:var(--header-bg);

    backdrop-filter:blur(18px);

    border-bottom:1px solid var(--border);

}

/* Search */

.search-box{

    width:420px;

    height:46px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 18px;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:14px;

    transition:.25s;

}

.search-box:focus-within{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(20,184,166,.12);

}

.search-box input{

    flex:1;

}

.search-box svg{

    color:var(--text-light);

}

/* Header Actions */

.header-actions{

    display:flex;

    align-items:center;

    gap:14px;

}

/* Icon Button */

.icon-btn{

    width:46px;

    height:46px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:14px;

    transition:.25s;

}

.icon-btn:hover{

    background:var(--primary);

    color:#fff;

}

/* Select */

.header select{

    height:46px;

    padding:0 14px;

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:14px;

    cursor:pointer;

}

/* ==========================================
   Profile
========================================== */

.profile{

    display:flex;

    align-items:center;

    gap:12px;

    padding-left:12px;

}

.profile img{

    width:46px;

    height:46px;

    border-radius:50%;

    object-fit:cover;

    border:2px solid var(--primary);

}

.profile h4{

    font-size:15px;

}

.profile small{

    color:var(--text-light);

}

/* ==========================================
   Content
========================================== */

.content{

    flex:1;

    padding:32px;

}

.content h1{

    font-size:34px;

    margin-bottom:10px;

}

.content p{

    color:var(--text-light);

    margin-bottom:28px;

}

/* Placeholder */

.placeholder{

    display:flex;

    align-items:center;

    justify-content:center;

    height:420px;

    border:2px dashed var(--border);

    border-radius:24px;

    background:var(--surface);

    color:var(--text-light);

    font-size:20px;

}

/* ==========================================
   Smooth Animations
========================================== */

.sidebar,
.header,
.search-box,
.nav-item,
.icon-btn,
.office-card,
.profile{

    transition:all .25s ease;

}