:root{--bg:#0f1115;--card:#181b22;--border:#262b36;--text:#e6e9ef;--muted:#8b93a3;--primary:#4f7cff;--primary-hover:#6690ff;--danger:#ff6b6b}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}h1,h2{margin:0;font-weight:600}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px}.muted{color:var(--muted)}.btn{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-size:14px;transition:background .15s,border-color .15s}.btn:hover{background:var(--border)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;width:100%;padding:10px;font-size:15px}.btn-primary:hover{background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.field{margin-bottom:16px;display:block}.field span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.field input{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.field input:focus{border-color:var(--primary)}.error-msg{color:var(--danger);margin:0 0 14px;font-size:13px}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{width:100%;max-width:360px}.login-title{text-align:center;font-size:22px}.login-sub{text-align:center;color:var(--muted);margin:8px 0 24px;font-size:14px}.page{max-width:960px;margin:0 auto;padding:20px}.topbar{justify-content:space-between;align-items:center;padding:8px 0 24px;display:flex}.brand{font-size:20px}.topbar-right{align-items:center;gap:12px;display:flex}.username{color:var(--muted);font-size:14px}.content{gap:20px;display:grid}.content h2{margin-bottom:12px;font-size:16px}.audit-table{border-collapse:collapse;width:100%;font-size:13px}.audit-table th,.audit-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.audit-table th{color:var(--muted);font-weight:500}.input{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;padding:8px 12px;font-size:13px}.input:focus{border-color:var(--primary)}select.input{cursor:pointer}.btn-sm{padding:4px 10px;font-size:12px}.btn-icon{padding:4px 8px;font-size:12px}.btn-danger{color:var(--danger);border-color:#ff6b6b66}.btn-danger:hover{background:#ff6b6b1f}.dropzone{text-align:center;border-style:dashed;transition:border-color .15s,background .15s}.dropzone.dragging{border-color:var(--primary);background:#4f7cff0f}.dropzone-text{font-size:15px}.dropzone-text a{color:var(--primary)}.upload-queue{text-align:left;gap:10px;margin-top:16px;display:grid}.upload-item-head{align-items:center;gap:10px;margin-bottom:4px;font-size:13px;display:flex}.upload-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.progress{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.progress-bar{background:var(--primary);border-radius:3px;height:100%;transition:width .2s}.progress-bar.done{background:#3ecf8e}.progress-bar.error{background:var(--danger)}.list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tabs{gap:6px;display:flex}.tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:13px}.tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.toolbar-right{gap:8px;display:flex}.search{width:200px}.file-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.file-table th,.file-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px}.file-table th{color:var(--muted);font-weight:500}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.col-size{width:90px}.col-time{width:160px}.col-actions{width:230px}.col-actions .btn{margin-right:6px}.empty-row{text-align:center;padding:30px 0}.list-footer{justify-content:space-between;align-items:center;margin-top:14px;font-size:13px;display:flex}.pager{align-items:center;gap:10px;display:flex}.modal-mask{z-index:10;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;max-height:85vh;padding:22px;overflow-y:auto}.modal-small{max-width:360px}.modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-head h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.share-form .field{margin-bottom:12px}.share-created{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.share-link-row{align-items:center;gap:8px;display:flex}.share-link{background:var(--bg);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;flex:1;padding:8px 10px;font-size:12px;overflow:hidden}.share-list{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.share-list h4{color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:500}.share-item{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.share-item-info{flex:1;gap:4px;min-width:0;display:grid}.share-item-info .muted{font-size:12px}.share-item-actions{gap:6px;display:flex}.share-file-name{word-break:break-all}.share-meta{text-align:center;margin-bottom:20px;font-size:13px}
