.sfv2-wrap{
    display:flex;
    height:560px;
    border:1px solid #dcdcdc;
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Sidebar */
.sfv2-sidebar{
    width:300px;
    border-right:1px solid #e6e6e6;
    padding:10px 8px;
    overflow:auto;
    background:#fafafa;
}

.sfv2-tree{
    margin:0;
    padding:0;
    list-style:none;
}

.sfv2-node{
    margin:2px 0;
}

.sfv2-row{
    display:flex;
    align-items:center;
    gap:6px;
    padding:4px 6px;
    border-radius:6px;
    cursor:pointer;
    user-select:none;
}

.sfv2-row:hover{
    background:#eef5ff;
}

.sfv2-row.is-selected{
    background:#cfe5ff;
    outline:1px solid #9ec9ff;
}

.sfv2-toggle{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#666;
    border-radius:4px;
}
.sfv2-toggle:hover{ background: rgba(0,0,0,.06); }
.sfv2-toggle.is-hidden{ visibility:hidden; }

.sfv2-label{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    flex:1;
}

.sfv2-name{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:14px;
    color:#1f1f1f;
}

.sfv2-children{
    margin:0;
    padding-left:18px;
    list-style:none;
    display:none;
}

.sfv2-node.is-open > .sfv2-children{
    display:block;
}

/* Main */
.sfv2-main{
    flex:1;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

.sfv2-content{
    flex:1;
    padding:14px 14px 6px 14px;
    overflow:auto;
}

.sfv2-grid{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.sfv2-item{
    width:140px;
    padding:10px 8px;
    border-radius:8px;
    cursor:pointer;
    text-align:center;
}
.sfv2-item:hover{
    background:#f3f7ff;
}

.sfv2-icon{
    width:52px;
    height:52px;
    margin:0 auto 8px auto;
    display:block;
}

.sfv2-filename{
    font-size:13px;
    color:#1f1f1f;
    line-height:1.2;
    word-break:break-word; /* quebra nomes longos */
}

/* Breadcrumb bottom bar */
.sfv2-breadcrumb{
    border-top:1px solid #e6e6e6;
    background:#fff;
    padding:8px 12px;
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    overflow:auto;
    white-space:nowrap;
}

.sfv2-crumb{
    color:#0b57d0;
    cursor:pointer;
}
.sfv2-crumb:hover{ text-decoration:underline; }
.sfv2-sep{ color:#999; }

/* Inline SVG colors */
.sfv2-svg-folder path{ fill:#f4b400; }
.sfv2-svg-folder rect{ fill:#f9d65c; }

.sfv2-svg-pdf .paper{ fill:#ffffff; }
.sfv2-svg-pdf .fold{ fill:#e6e6e6; }
.sfv2-svg-pdf .badge{ fill:#d93025; }
.sfv2-svg-pdf .txt{ fill:#ffffff; }
