.collab-members-list{
display:flex;
flex-direction:column;
gap:8px;
max-height:300px;
overflow-y:auto;
scrollbar-width:thin;
padding:4px 0;
}
.collab-member{
display:flex;
align-items:center;
gap:12px;
padding:8px 12px;
border-radius:var(--br2);
background:rgba(255,255,255,0.04);
}
.collab-member-pic{
width:32px;
height:32px;
border-radius:50%;
object-fit:cover;
flex-shrink:0;
background:var(--bg2);
}
.collab-member-info{
flex:1;
min-width:0;
}
.collab-member-name{
font-size:var(--fz4);
font-weight:600;
color:var(--cl1);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.collab-member-email{
font-size:var(--fz5);
color:var(--cl2);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.collab-member-role{
font-size:var(--fz5);
font-weight:600;
color:var(--ac3);
text-transform:uppercase;
letter-spacing:0.5px;
flex-shrink:0;
}
.collab-invite-link{
display:flex;
align-items:center;
gap:8px;
margin-top:12px;
}
.collab-invite-input{
flex:1;
padding:10px 14px;
border:2px solid #333;
border-radius:var(--br2);
background:var(--ooo);
color:var(--cl1);
font-size:var(--fz5);
font-family:monospace;
outline:none;
}
.collab-invite-input:focus{
border-color:var(--ac3);
}
#collab-save-btn,#collab-invite-btn{
background:var(--ac3);
}
#collab-save-btn:hover,#collab-invite-btn:hover{
background:var(--ac3-light);
}
#collab-leave-btn{
background:#c53030;
color:#fff;
}
#collab-leave-btn:hover{
background:#e53e3e;
}
.collab-copy-btn{
padding:10px 18px;
border:none;
border-radius:var(--br2);
background:var(--ac3);
color:#fff;
font-size:var(--fz5);
font-weight:600;
cursor:pointer;
flex-shrink:0;
transition:background 100ms ease;
}
.collab-copy-btn:hover{
background:var(--ac3-dark);
}
.collab-invite-confirm{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
padding:8px 0;
gap:12px;
}
.collab-invite-icon{
margin-bottom:4px;
}
.collab-invite-title{
font-size:var(--fz1);
font-weight:700;
color:var(--cl1);
}
.collab-invite-folder-name{
font-size:var(--fz2);
font-weight:600;
color:var(--ac3);
word-break:break-word;
}
.collab-invite-owner{
display:flex;
align-items:center;
gap:10px;
font-size:var(--fz4);
color:var(--cl2);
}
.collab-invite-owner-pic{
width:28px;
height:28px;
border-radius:50%;
object-fit:cover;
flex-shrink:0;
}
.collab-invite-owner-initial{
display:flex;
align-items:center;
justify-content:center;
background:var(--ac3);
color:#fff;
font-weight:700;
font-size:var(--fz5);
}
.collab-invite-invited-by{
font-size:var(--fz5);
color:var(--cl2);
}
.collab-invite-members{
font-size:var(--fz5);
color:var(--cl3);
}
.collab-invite-warning{
font-size:var(--fz5);
color:var(--cl3);
max-width:320px;
line-height:1.5;
padding:10px 16px;
background:rgba(255,255,255,0.03);
border-radius:var(--br2);
border:1px solid rgba(255,255,255,0.06);
}
.collab-invite-btns{
display:flex;
gap:10px;
margin-top:4px;
}
.collab-invite-btns .btn{
min-width:120px;
padding:10px 24px;
font-size:var(--fz4);
font-weight:600;
border:none;
border-radius:var(--br2);
cursor:pointer;
transition:background 100ms ease,opacity 100ms ease;
}
.collab-invite-accept{
background:var(--ac3);
color:#fff;
}
.collab-invite-accept:hover{
opacity:0.9;
}
.collab-invite-decline{
background:rgba(255,255,255,0.08);
color:var(--cl2);
}
.collab-invite-decline:hover{
background:rgba(255,255,255,0.12);
}
.collab-trash-panel{
max-width:480px;
width:100%;
}
.collab-trash-header{
text-align:center;
margin-bottom:16px;
}
.collab-trash-title{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
font-size:var(--fz2);
font-weight:700;
color:var(--cl1);
}
.collab-trash-title svg{
width:22px;
height:22px;
color:var(--cl2);
flex-shrink:0;
}
.collab-trash-folder{
font-size:var(--fz5);
color:var(--cl3);
margin-top:4px;
}
.collab-trash-body{
max-height:400px;
overflow-y:auto;
scrollbar-width:thin;
display:flex;
flex-direction:column;
gap:6px;
}
.collab-trash-empty,.collab-trash-loading{
text-align:center;
padding:32px 16px;
color:var(--cl3);
font-size:var(--fz4);
}
.collab-trash-item{
display:flex;
align-items:center;
gap:12px;
padding:8px 12px;
border-radius:var(--br2);
background:rgba(255,255,255,0.04);
transition:background 100ms ease;
}
.collab-trash-item:hover{
background:rgba(255,255,255,0.07);
}
.collab-trash-thumb{
width:48px;
height:48px;
border-radius:6px;
object-fit:cover;
flex-shrink:0;
background:var(--bg2);
}
.collab-trash-note-preview{
width:48px;
height:48px;
border-radius:6px;
flex-shrink:0;
background:rgba(255,255,255,0.06);
display:flex;
align-items:center;
justify-content:center;
font-size:10px;
color:var(--cl3);
overflow:hidden;
padding:4px;
line-height:1.3;
word-break:break-all;
}
.collab-trash-no-preview{
width:48px;
height:48px;
border-radius:6px;
flex-shrink:0;
background:rgba(255,255,255,0.04);
display:flex;
align-items:center;
justify-content:center;
font-size:10px;
color:var(--cl3);
}
.collab-trash-item-info{
flex:1;
min-width:0;
}
.collab-trash-item-title{
font-size:var(--fz5);
font-weight:600;
color:var(--cl1);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.collab-trash-item-time{
font-size:var(--fz5);
color:var(--cl3);
margin-top:2px;
}
.collab-trash-item-actions{
display:flex;
gap:6px;
flex-shrink:0;
}
.collab-trash-restore-btn,.collab-trash-purge-btn{
padding:6px 12px;
font-size:var(--fz5);
font-weight:600;
border:none;
border-radius:var(--br2);
cursor:pointer;
transition:background 100ms ease;
}
.collab-trash-restore-btn{
background:var(--ac3);
color:#fff;
}
.collab-trash-restore-btn:hover{
opacity:0.9;
}
.collab-trash-purge-btn{
background:#c53030;
color:#fff;
}
.collab-trash-purge-btn:hover{
background:#e53e3e;
}
.collab-trash-footer{
display:flex;
gap:10px;
justify-content:center;
margin-top:16px;
}
.collab-trash-footer .btn{
padding:10px 20px;
font-size:var(--fz4);
font-weight:600;
border:none;
border-radius:var(--br2);
cursor:pointer;
transition:background 100ms ease;
}
.collab-trash-restore-all{
background:var(--ac3)!important;
color:#fff!important;
}
.collab-trash-restore-all:hover{
opacity:0.9;
}
.collab-trash-purge-all{
background:#c53030!important;
color:#fff!important;
}
.collab-trash-purge-all:hover{
background:#e53e3e!important;
}
.collab-role-badge{
font-size:var(--fz5);
font-weight:600;
text-transform:uppercase;
letter-spacing:0.5px;
padding:2px 8px;
border-radius:var(--br3);
flex-shrink:0;
}
.collab-role-badge-owner{
background:rgba(168,85,247,0.15);
color:var(--ac3);
}
.collab-role-badge-editor{
background:rgba(34,197,94,0.15);
color:#22c55e;
}
.collab-role-badge-viewer{
background:rgba(255,255,255,0.06);
color:var(--cl2);
}
.collab-role-toggle-btn{
padding:4px 10px;
font-size:var(--fz5);
font-weight:600;
border:1px solid #333;
border-radius:var(--br3);
background:transparent;
color:var(--cl2);
cursor:pointer;
transition:background 100ms ease,border-color 100ms ease;
flex-shrink:0;
}
.collab-role-toggle-btn:hover{
background:rgba(255,255,255,0.06);
border-color:#444;
}
.collab-kick-btn{
padding:4px 10px;
font-size:var(--fz5);
font-weight:600;
border:1px solid rgba(197,48,48,0.4);
border-radius:var(--br3);
background:transparent;
color:#e53e3e;
cursor:pointer;
transition:background 100ms ease,border-color 100ms ease;
flex-shrink:0;
}
.collab-kick-btn:hover{
background:rgba(197,48,48,0.12);
border-color:rgba(197,48,48,0.6);
}
.collab-view-only-badge{
display:inline-block;
font-size:var(--fz5);
font-weight:600;
color:var(--cl2);
background:rgba(255,255,255,0.06);
padding:2px 10px;
border-radius:var(--br3);
margin-left:8px;
vertical-align:middle;
}
.dup-panel{
max-width:600px;
width:100%;
}
.dup-header{
text-align:center;
margin-bottom:12px;
flex-shrink:0;
}
.dup-title{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
font-size:var(--fz2);
font-weight:700;
color:var(--cl1);
}
.dup-title svg{
width:22px;
height:22px;
color:var(--cl2);
flex-shrink:0;
}
.dup-folder{
font-size:var(--fz5);
color:var(--cl3);
margin-top:4px;
}
.dup-tabs{
display:flex;
gap:0;
margin-bottom:12px;
border-radius:var(--br2);
overflow:hidden;
border:1px solid #333;
flex-shrink:0;
}
.dup-tab{
flex:1;
padding:8px 16px;
font-size:var(--fz5);
font-weight:600;
border:none;
background:transparent;
color:var(--cl2);
cursor:pointer;
transition:background 100ms ease,color 100ms ease;
}
.dup-tab:hover{
background:rgba(255,255,255,0.04);
}
.dup-tab-active{
background:rgba(255,255,255,0.08);
color:var(--cl1);
}
.dup-threshold-row{
display:flex;
align-items:center;
gap:10px;
margin-bottom:12px;
padding:0 4px;
flex-shrink:0;
}
.dup-threshold-label{
font-size:var(--fz5);
color:var(--cl2);
flex-shrink:0;
}
.dup-threshold-slider{
flex:1;
accent-color:var(--ac3);
cursor:pointer;
}
.dup-threshold-val{
font-size:var(--fz5);
color:var(--cl1);
font-weight:600;
min-width:20px;
text-align:center;
}
.dup-body{
flex:1;
min-height:0;
overflow-y:auto;
scrollbar-width:thin;
display:flex;
flex-direction:column;
gap:12px;
position:relative;
}
.dup-body-loading{
pointer-events:none;
}
.dup-body-loading>*{
opacity:0.3;
transition:opacity 100ms ease;
}
.dup-empty,.dup-loading{
text-align:center;
padding:40px 16px;
color:var(--cl3);
font-size:var(--fz4);
}
.dup-empty-icon{
margin-bottom:12px;
opacity:0.3;
}
.dup-empty-icon svg{
width:48px;
height:48px;
}
.dup-group{
border:1px solid #222;
border-radius:var(--br2);
overflow:hidden;
}
.dup-group-header{
display:flex;
align-items:center;
justify-content:space-between;
padding:8px 12px;
background:rgba(255,255,255,0.03);
border-bottom:1px solid #222;
}
.dup-group-label{
font-size:var(--fz5);
font-weight:600;
color:var(--cl2);
text-transform:uppercase;
letter-spacing:0.5px;
}
.dup-group-count{
font-size:var(--fz5);
color:var(--cl3);
}
.dup-group-items{
display:flex;
flex-direction:column;
}
.dup-item{
display:flex;
align-items:center;
gap:10px;
padding:8px 12px;
cursor:pointer;
transition:background 100ms ease;
position:relative;
border-bottom:1px solid rgba(255,255,255,0.03);
}
.dup-item:last-child{
border-bottom:none;
}
.dup-item:hover{
background:rgba(255,255,255,0.04);
}
.dup-item-checked{
background:rgba(197,48,48,0.08);
}
.dup-item-checked:hover{
background:rgba(197,48,48,0.12);
}
.dup-item-first{
background:rgba(34,197,94,0.05);
}
.dup-item-first:hover{
background:rgba(34,197,94,0.08);
}
.dup-check{
flex-shrink:0;
width:16px;
height:16px;
cursor:pointer;
accent-color:#c53030;
}
.dup-thumb{
width:48px;
height:48px;
border-radius:6px;
object-fit:cover;
flex-shrink:0;
background:var(--bg2);
}
.dup-thumb-empty{
background:rgba(255,255,255,0.04);
}
.dup-item-info{
flex:1;
min-width:0;
}
.dup-item-title{
font-size:var(--fz5);
font-weight:600;
color:var(--cl1);
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
.dup-item-meta{
display:flex;
gap:8px;
font-size:var(--fz5);
color:var(--cl3);
margin-top:2px;
flex-wrap:wrap;
}
.dup-item-meta span{
white-space:nowrap;
}
.dup-keep-badge{
font-size:10px;
font-weight:700;
color:#22c55e;
background:rgba(34,197,94,0.15);
padding:2px 6px;
border-radius:var(--br3);
flex-shrink:0;
text-transform:uppercase;
letter-spacing:0.5px;
}
.dup-footer{
margin-top:12px;
flex-shrink:0;
}
.dup-quick-actions{
display:flex;
gap:6px;
margin-bottom:10px;
justify-content:center;
flex-wrap:wrap;
}
.dup-quick-btn{
padding:5px 12px;
font-size:var(--fz5);
font-weight:600;
border:1px solid #333;
border-radius:var(--br3);
background:transparent;
color:var(--cl2);
cursor:pointer;
transition:background 100ms ease,border-color 100ms ease;
}
.dup-quick-btn:hover{
background:rgba(255,255,255,0.06);
border-color:#444;
}
.dup-footer-btns{
display:flex;
gap:10px;
justify-content:center;
}
.dup-footer-btns .btn{
padding:10px 20px;
font-size:var(--fz4);
font-weight:600;
border:none;
border-radius:var(--br2);
cursor:pointer;
transition:background 100ms ease;
}
.dup-close-btn{
background:#2a2a2a!important;
color:#fff!important;
}
.dup-close-btn:hover{
background:#333!important;
}
.dup-delete-btn{
background:#c53030!important;
color:#fff!important;
}
.dup-delete-btn:hover{
background:#e53e3e!important;
}