/* S3 Bucket Browser Modal */

.s3-bucket-browser {
    min-height: 400px;
}

/* Toolbar */
.s3-bb-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0 12px;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 0;
    flex-wrap: wrap;
}

.s3-bb-bucket-selector {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.s3-bb-bucket-selector label {
    margin: 0;
    font-weight: 600;
    font-size: 13px;
}

.s3-bb-bucket-selector select {
    width: auto;
    min-width: 160px;
}

.s3-bb-breadcrumb {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    font-size: 13px;
}

.s3-bb-crumb-root {
    color: #555;
    font-size: 14px;
}

.s3-bb-crumb-root:hover {
    color: #337ab7;
}

.s3-bb-crumb-sep {
    color: #999;
    margin: 0 1px;
}

.s3-bb-crumb {
    white-space: nowrap;
    color: #337ab7;
}

.s3-bb-crumb:hover {
    text-decoration: underline;
}

.s3-bb-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

/* Loading */
.s3-bb-loading {
    text-align: center;
    padding: 60px 20px;
    color: #999;
    font-size: 14px;
}

/* Table */
.s3-bb-table-wrapper {
    max-height: 55vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.s3-bb-table {
    margin-bottom: 0;
    table-layout: fixed;
}

.s3-bb-table thead th {
    border-top: none;
    font-size: 12px;
    text-transform: uppercase;
    color: #999;
    font-weight: 600;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
}

.s3-bb-col-check {
    width: 36px;
    text-align: center;
}

.s3-bb-col-icon {
    width: 32px;
    text-align: center;
}

.s3-bb-col-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.s3-bb-col-size {
    width: 90px;
    text-align: right;
}

.s3-bb-col-date {
    width: 160px;
}

.s3-bb-col-actions {
    width: 50px;
    text-align: center;
}

.s3-bb-table tbody td {
    vertical-align: middle;
    font-size: 13px;
    padding: 6px 8px;
}

.s3-bb-row-prefix td {
    cursor: pointer;
}

.s3-bb-row-prefix:hover {
    background-color: #f8f9fa;
}

.s3-bb-row-parent td {
    color: #666;
}

.s3-bb-row-parent a {
    color: #666;
    font-weight: 600;
}

/* Empty */
.s3-bb-empty {
    text-align: center;
    padding: 40px 20px !important;
    color: #bbb;
    font-size: 14px;
}

.s3-bb-empty i {
    display: block;
    font-size: 32px;
    margin-bottom: 8px;
}

/* Load more */
.s3-bb-load-more {
    text-align: center;
    padding: 12px 0;
}

/* Action icons in rows */
.s3-bb-col-actions a {
    color: #999;
    font-size: 13px;
}

.s3-bb-col-actions a:hover {
    color: #337ab7;
}

.s3-bb-col-actions a.text-danger:hover {
    color: #c9302c;
}

/* Modal sizing */
.s3-bucket-browser-modal .modal-dialog {
    width: 900px;
    max-width: 95vw;
}
