:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#172033;background:#f5f7fb;line-height:1.45}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:10px 16px;background:#2563eb;color:white;font-weight:650}
button:hover{filter:brightness(.96)}button.secondary,.ghost{background:#eef2f7;color:#344054}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#edf4ff,#f8fafc)}
.login-card{width:min(420px,100%);background:white;padding:36px;border:1px solid #e5eaf1;border-radius:20px;box-shadow:0 24px 70px rgba(27,39,63,.12)}
.logo{width:48px;height:48px;display:grid;place-items:center;background:#2563eb;color:white;border-radius:14px;font-weight:800}.logo.small{width:34px;height:34px;border-radius:10px;font-size:13px}
h1,h2,p{margin-top:0}.login-card p,.muted{color:#667085}.login-card label,dialog label{display:grid;gap:7px;margin:16px 0;font-size:14px;font-weight:600}
input,textarea{width:100%;border:1px solid #d6dce5;border-radius:10px;padding:11px 12px;background:white;color:#172033;outline:none}
input:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.login-card button{width:100%;margin-top:10px}.app{min-height:100vh;display:grid;grid-template-columns:230px 1fr}
aside{position:sticky;top:0;height:100vh;background:#101828;color:#d0d5dd;padding:24px 16px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px 28px;color:white}.nav{display:block;width:100%;text-align:left;background:transparent;color:#d0d5dd;margin:3px 0}
.nav.active,.nav:hover{background:#1d2939;color:white}.bottom{margin-top:auto;background:#1d2939;color:white}
main{padding:34px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:20px}header h1{margin-bottom:4px;font-size:30px}header p{color:#667085}
.toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto;gap:10px;margin:24px 0 14px}
.dropzone{border:1.5px dashed #c5ceda;border-radius:14px;padding:22px;text-align:center;color:#667085;background:#fbfcfe;margin-bottom:16px}
.dropzone.drag{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.table-wrap{background:white;border:1px solid #e5eaf1;border-radius:16px;overflow:auto}
table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:14px 16px;border-bottom:1px solid #edf0f4;text-align:left;font-size:14px}
th{color:#667085;background:#fbfcfe;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.file-name{display:flex;align-items:center;gap:12px;min-width:260px}.file-icon{width:36px;height:36px;border-radius:9px;background:#eef4ff;display:grid;place-items:center}
.file-meta{color:#667085;font-size:12px;max-width:320px;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#f0f3f7;font-size:12px}
.row-actions{display:flex;justify-content:flex-end;gap:6px}.row-actions button{padding:7px 9px;background:#eef2f7;color:#344054}.row-actions .danger{color:#b42318;background:#fef3f2}
.empty{padding:60px;text-align:center;color:#667085}dialog{border:0;border-radius:18px;padding:0;width:min(540px,calc(100% - 32px));box-shadow:0 28px 90px rgba(16,24,40,.25)}
dialog::backdrop{background:rgba(15,23,42,.52)}dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:center}
.icon{padding:4px 10px;background:transparent;color:#667085;font-size:26px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.toast{position:fixed;right:24px;bottom:24px;max-width:420px;background:#101828;color:white;padding:13px 16px;border-radius:12px;box-shadow:0 15px 45px rgba(0,0,0,.2)}
.toast.error{background:#b42318}@media(max-width:820px){.app{grid-template-columns:1fr}aside{position:static;height:auto;flex-direction:row;overflow:auto;padding:12px}.brand{padding:0 12px}.brand strong,.bottom{display:none}nav{display:flex}.nav{white-space:nowrap}main{padding:20px}.toolbar{grid-template-columns:1fr}.table-wrap{border-radius:12px}}
