.td-wrapper{
    width:100%;
    max-width:100%;
    margin:0;
    padding:24px 0;
    box-sizing:border-box;
    font-family:inherit;
}

.td-wrapper *{
    box-sizing:border-box;
}

.td-title{
    margin:0 0 22px 0;
    color:#46247d;
    font-size:28px;
    font-weight:700;
}

.td-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-bottom:18px;
    font-size:14px;
    color:#666;
}

.td-breadcrumbs a{
    color:#46247d;
    text-decoration:none;
    font-weight:600;
}

.td-breadcrumbs a:hover{
    text-decoration:underline;
}

.td-breadcrumbs strong{
    color:#333;
    font-weight:600;
}

.td-folder-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    margin:20px 0 28px 0;
    width:100%;
}

.td-folder-card{
    display:flex;
    align-items:center;
    gap:14px;
    min-height:78px;
    width:100%;
    padding:20px 26px;
    border:1px solid #e7e2ef;
    border-radius:14px;
    background:#fff;
    color:#46247d;
    text-decoration:none;
    box-shadow:0 4px 14px rgba(70,36,125,.08);
    transition:all .2s ease;
}

.td-folder-card:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(70,36,125,.15);
    color:#46247d;
}

.td-folder-icon{
    font-size:26px;
    line-height:1;
    flex:0 0 auto;
}

.td-folder-name{
    font-weight:700;
    font-size:16px;
    line-height:1.3;
}

.td-table-wrap{
    width:100%;
    overflow-x:auto;
    margin-top:22px;
}

.td-doc-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border:1px solid #dedede;
}

.td-doc-table th{
    background:#46247d;
    color:#fff;
    padding:14px 16px;
    text-align:left;
    font-weight:700;
    border:1px solid #dedede;
}

.td-doc-table td{
    padding:10px 12px;
    border:1px solid #dedede;
    color:#444;
    vertical-align:top;
}

.td-download{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:6px 10px;
    border-radius:6px;
    background:#46247d;
    color:#fff !important;
    text-decoration:none;
    font-weight:700;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
}

.td-download:hover{
    opacity:.9;
}

.td-download-icon{
    font-size:14px;
    line-height:1;
}

.td-no-file{
    color:#777;
    font-size:14px;
}

.td-empty{
    padding:20px;
    border:1px dashed #cfc7db;
    border-radius:12px;
    background:#faf8fd;
    color:#555;
}

@media(max-width:1024px){
    .td-folder-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:700px){
    .td-title{
        font-size:24px;
    }

    .td-folder-grid{
        grid-template-columns:1fr;
    }

    .td-doc-table,
    .td-doc-table thead,
    .td-doc-table tbody,
    .td-doc-table th,
    .td-doc-table td,
    .td-doc-table tr{
        display:block;
    }

    .td-doc-table thead{
        display:none;
    }

    .td-doc-table tr{
        border:1px solid #dedede;
        padding:12px;
    }

    .td-doc-table td{
        border:none;
        padding:8px 0;
    }

    .td-doc-table td::before{
        content:attr(data-label);
        display:block;
        font-weight:700;
        color:#46247d;
        margin-bottom:4px;
    }
}
