*{box-sizing:border-box}body{margin:0;background:#f4f6fb;color:#17263f;font:14px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#3464dd;text-decoration:none}button,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:10px 15px;background:#3567e5;color:white;cursor:pointer;font:inherit;font-weight:650;gap:6px}button:hover,.btn:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}.light{background:#edf2ff;color:#315fd1}.danger{background:#fff0f2;color:#b03b4a}.small{font-size:12px}.muted{color:#8693a8}.nowrap{white-space:nowrap}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}.sidebar{background:#14243e;color:#b7c5dd;padding:29px 20px;display:flex;flex-direction:column}.brand{font-size:24px;font-weight:750;color:white;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand i{font-style:normal;border-radius:11px;background:#3567e5;width:37px;height:37px;display:grid;place-items:center;font-size:22px}.caption{font-size:10px;letter-spacing:2px;margin:10px 0 24px;color:#8fa3c4}.navgroup{font-size:9px;letter-spacing:1.5px;margin:19px 12px 8px;color:#7890b2}.nav{display:grid;gap:4px}.nav a{display:flex;align-items:center;justify-content:space-between;color:#b2c2de;border-radius:9px;padding:11px 13px;font-size:13px}.nav a:hover{background:#22385b}.nav a.active{background:#2b4165;color:#fff;font-weight:650}.nav b{font-size:10px;background:#3b5070;padding:2px 6px;border-radius:5px}.sidebarfoot{margin-top:auto;padding-top:35px;font-size:11px}.bar{height:7px;overflow:hidden;border-radius:8px;background:#e6edf9;margin:12px 0}.bar progress{display:block;width:100%;height:100%;appearance:none;border:0}.bar progress::-webkit-progress-bar{background:#e6edf9}.bar progress::-webkit-progress-value{background:#386ae3}.bar progress::-moz-progress-bar{background:#386ae3}.sidebar .bar progress::-webkit-progress-bar{background:#2c4266}.content{padding:29px 34px;width:100%;max-width:1640px;margin:0 auto;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:27px}.crumb{font-size:11px;color:#93a0b4;margin-bottom:8px}h1{font-size:27px;letter-spacing:-.6px;margin:0}h2{font-size:17px;margin:0}h3{font-size:14px;margin:0}.profile{display:flex;gap:10px;align-items:center}.avatar{width:37px;height:37px;border-radius:50%;background:#e4ebfe;color:#4263bd;display:grid;place-items:center;font-weight:750}.card{background:white;border:1px solid #e5ebf5;border-radius:13px;padding:23px;margin:18px 0}.row,.cardhead{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.cardhead{margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat{background:white;border:1px solid #e5ebf5;border-radius:13px;padding:20px}.stat .value{font-size:27px;font-weight:750;letter-spacing:-.6px;margin:10px 0 4px}.stat .label{font-size:11px;letter-spacing:.6px;color:#7689a4}.stat .hint{font-size:11px;color:#95a0b1}.split{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.split .card{margin-bottom:0}.cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.pill{display:inline-block;background:#edf3ff;color:#3d659f;padding:5px 8px;font-size:10px;border-radius:5px;white-space:nowrap}.pill.good{color:#2b8063;background:#eaf7f0}.pill.bad{color:#b04c58;background:#fff0f2}.pill.warn{color:#a77d2a;background:#fff8e7}.alert{padding:14px 18px;border-radius:9px;background:#eaf7f0;color:#2c785d;margin-bottom:15px;font-size:13px}.alert.error{background:#fff0f2;color:#a84250}.alert.warn{background:#fff8e7;color:#8b6d2e}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#8e9bb0;background:#fafcff;font-weight:650}th,td{padding:14px 10px;border-bottom:1px solid #edf1f7;vertical-align:top}td{font-size:12px}th:first-child,td:first-child{padding-left:0}.filename{min-width:200px;max-width:330px;overflow-wrap:anywhere}.filetype{display:inline-grid;place-items:center;background:#eef3fd;border:1px solid #e2eafa;color:#5a7ab2;border-radius:7px;width:35px;height:38px;font-size:7px;font-weight:800;vertical-align:middle;margin-right:9px}.empty{padding:42px!important;text-align:center;color:#9aa7bb}.actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;min-width:160px}details summary{cursor:pointer;font-size:12px;color:#657da1}details p{margin:10px 0}.edit{min-width:230px;max-width:360px;margin:14px 0}.edit hr{border:0;border-top:1px solid #e8edf6;margin:17px 0}.edit form{margin:14px 0}label{display:block;font-size:11px;font-weight:650;color:#76869e;margin:13px 0 7px}input,select,textarea{padding:10px 11px;border:1px solid #dce4f1;border-radius:7px;background:white;color:#263e60;font:inherit;max-width:100%;width:100%}input[type=checkbox]{width:auto;vertical-align:middle}input[type=file]{padding:23px;background:#f9fbff;border:1px dashed #b7c9e6}.check{display:flex;align-items:center;gap:8px;font-weight:400;margin:8px 0}.checks{display:flex;flex-wrap:wrap;gap:4px 15px}.check input{flex-shrink:0}.filter{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;align-items:end;gap:10px}.filter.auditfilter{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr auto}.filter label{margin-top:0}.filter.usersfilter{grid-template-columns:1fr auto}.foldergrid{display:flex;gap:10px;flex-wrap:wrap}.folder{background:#fafcff;border:1px solid #e2eaf8;border-radius:8px;padding:12px 16px;font-size:12px}.folder span{color:#91a9d0;margin-right:8px}.formwidth{max-width:620px}.uploadzone{border-radius:12px;background:#fafcff;padding:25px;margin:16px 0}progress.upload{width:100%;height:9px;margin:20px 0 5px}.footer{font-size:10px;color:#9aa5b6;margin:25px 0}.line{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f7;font-size:12px}.line span{color:#8896aa}.loginwrap{display:grid;place-items:center;min-height:100vh;padding:20px}.logincard{width:430px;max-width:100%;padding:30px;background:white;border:1px solid #e3ebf7;border-radius:15px;box-shadow:0 20px 55px #1b355b0a}.logincard button{width:100%;margin:23px 0 16px}.logincard label:first-of-type{margin-top:0}.pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.detail{max-width:260px;overflow-wrap:anywhere;font-size:11px}.code{font-family:ui-monospace,monospace;background:#f1f5fc;padding:14px;border-radius:8px;overflow-wrap:anywhere;user-select:all}.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-family:ui-monospace,monospace}.notice{line-height:1.65}.badgecount{font-size:10px;background:#eff3fb;padding:3px 8px;border-radius:5px;color:#728bb0}.sectionlabel{color:#8d9bb0;font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin:18px 0}.uploadnote{font-size:11px;color:#8699b7;line-height:1.6}pre{white-space:pre-wrap;overflow-wrap:anywhere}.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.userdetail{min-width:260px}.warntext{color:#a87c2e}.goodtext{color:#338967}.redtext{color:#b25260}select[multiple]{min-height:110px}.switchrow{border:1px solid #e5ebf5;border-radius:9px;padding:15px;margin:13px 0}.switchrow label{font-size:13px;color:#2c466c}.meta{font-size:11px;color:#9aa6b8;margin:6px 0}.sharebox{max-width:560px}.nowrapform{display:inline-flex}.crumb a{color:#8198c1}.stack{display:grid;gap:10px}
@media(max-width:1200px){.filter.auditfilter{grid-template-columns:repeat(3,minmax(0,1fr))}.content{padding:25px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.cols{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block}.sidebar{padding:20px}.sidebarfoot,.caption,.navgroup{display:none}.brand{font-size:21px;margin-bottom:16px}.nav{display:flex;overflow:auto;padding-bottom:4px}.nav a{white-space:nowrap;padding:10px;font-size:11px;gap:10px}.content{padding:18px 13px}.top{gap:12px}.profile strong{font-size:12px}h1{font-size:23px}.card{padding:17px}.stat{padding:15px}.stat .value{font-size:23px}.stats{gap:10px}.filter,.filter.auditfilter{grid-template-columns:1fr}.edit{min-width:200px}}
