*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Segoe UI,sans-serif;
}

body{
    background:#f5f7fb;
}

.sidebar{
    position:fixed;
    width:240px;
    height:100vh;
    background:#1f2937;
    color:#fff;
}

.sidebar .logo{
    padding:20px;
    font-size:24px;
    font-weight:bold;
}

.sidebar ul{
    list-style:none;
}

.sidebar li a{
    display:block;
    padding:15px 20px;
    color:#fff;
    text-decoration:none;
}

.sidebar li a:hover{
    background:#374151;
}

.navbar{
    margin-left:240px;
    height:70px;
    background:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 30px;
    border-bottom:1px solid #ddd;
}

.main-content{
    margin-left:240px;
    margin-top:70px;
    padding:30px;
}

.cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.card{
    background:#fff;
    padding:25px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.1);
}

.login-container{
    height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
}

.login-box{
    width:400px;
    background:#fff;
    padding:40px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.login-box input{
    width:100%;
    padding:12px;
    margin-top:15px;
}

.login-box button{
    width:100%;
    margin-top:20px;
    padding:12px;
    background:#2563eb;
    color:white;
    border:none;
    cursor:pointer;
}

.folder-tree{

    list-style:none;

    padding-left:20px;

}

.folder-tree ul{

    list-style:none;

    padding-left:25px;

}

.folder-tree li{

    padding:6px 0;

}

.page-container {
    background: #ffffff;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
}

.page-header h2 {
    margin: 0;
}

.search-bar {
    margin-bottom: 20px;
}

.search-bar form {
    display: flex;
    gap: 10px;
}

.search-bar input {
    max-width: 400px;
}

.table-container {
    width: 100%;
    overflow-x: auto;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table th {
    background: #1f2937;
    color: white;
    padding: 12px;
    text-align: left;
}

.data-table td {
    padding: 12px;
    border-bottom: 1px solid #ddd;
}

.data-table tbody tr:hover {
    background: #f5f7fb;
}

.btn {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 5px;
    text-decoration: none;
    border: none;
    cursor: pointer;
}

.btn-primary {
    background: #2563eb;
    color: white;
}

.btn-secondary {
    background: #6b7280;
    color: white;
}

.btn-sm {
    padding: 5px 10px;
    font-size: 13px;
}

.member-page {
    background: #f5f7fb;
    padding: 20px;
}

.member-page-title {
    background: #ffffff;
    padding: 15px 20px;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
}

.member-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.member-card {
    background: #ffffff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.member-card-title {
    text-align: center;
    font-weight: 600;
    padding-bottom: 10px;
    margin-bottom: 15px;
    border-bottom: 1px solid #ddd;
}

.form-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.form-row label {
    font-size: 14px;
}

.form-row label span {
    color: red;
}

.form-control {
    width: 100%;
    padding: 7px 9px;
    border: 1px solid #bbb;
    border-radius: 3px;
    background: #fff;
}

.form-control:focus {
    outline: none;
    border-color: #2563eb;
}

.checkbox-row {
    grid-template-columns: 140px auto;
}

.checkbox-row .form-control {
    width: auto;
}

.member-actions {
    text-align: center;
    margin-top: 25px;
    padding-bottom: 30px;
}

.member-actions .btn {
    margin: 0 5px;
}

.form-errors {
    background: #f8d7da;
    color: #842029;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
}

@media (max-width: 1100px) {

    .member-grid {
        grid-template-columns: 1fr;
    }

}