*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,sans-serif;color:#e8eef7}
button{font:inherit;cursor:pointer}
.bs-login-body{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,#1f4e8c,#0b1730 60%,#060c1a)}
.bs-login{width:min(420px,92vw);background:rgba(13,25,48,.92);border:1px solid #2a4370;border-radius:16px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.bs-brand{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.bs-brand h1{margin:0;font-size:26px}.bs-brand p{margin:2px 0 0;color:#9fb4d6}
.bs-login h2{font-size:18px;margin:8px 0}.bs-intro{color:#b9c8e2;font-size:14px;line-height:1.45}
.bs-login label{display:block;margin:14px 0 4px;font-size:13px;color:#b9c8e2}
.bs-login input{width:100%;margin-top:6px;padding:11px 12px;border-radius:9px;border:1px solid #34507f;background:#0a1428;color:#fff;font-size:15px}
.bs-login button[type=submit]{width:100%;margin-top:20px;padding:12px;border:0;border-radius:9px;background:#2f7cf6;color:#fff;font-weight:600;font-size:15px}
.bs-err{color:#ffb4b4;font-size:14px}
.bs-desktop-body{display:flex;flex-direction:column;overflow:hidden;background:#0b1730 url(/static/wallpaper.svg) center/cover no-repeat}
.bs-bar{height:40px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;background:rgba(6,12,26,.85);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);font-size:14px}
.bs-bar-left,.bs-bar-right{display:flex;align-items:center;gap:10px}
.bs-test{background:#f5a623;color:#1b1200;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:600}
.bs-task{flex:1;display:flex;gap:6px}
.bs-task button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#e8eef7;border-radius:7px;padding:4px 10px;display:flex;gap:6px;align-items:center}
.bs-task button.on{background:rgba(47,124,246,.35)}
.bs-user{color:#b9c8e2}.bs-clock{color:#b9c8e2;font-variant-numeric:tabular-nums}
.bs-bar form{margin:0}.bs-link{background:none;border:0;color:#8fb8ff;padding:0}
.bs-desktop{position:relative;flex:1;padding:20px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:12px}
.bs-icon{width:104px;padding:10px 6px;background:none;border:1px solid transparent;border-radius:10px;color:#fff;display:flex;flex-direction:column;align-items:center;gap:6px;text-shadow:0 1px 3px #000}
.bs-icon:hover,.bs-icon:focus{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);outline:none}
.bs-icon span{font-size:13px;text-align:center}
.bs-win{position:absolute;display:flex;flex-direction:column;background:#f4f6fa;color:#1a2233;border-radius:10px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.5);border:1px solid #33496f;min-width:320px;min-height:200px;resize:both}
.bs-win.max{left:0!important;top:0!important;width:100%!important;height:100%!important;border-radius:0;resize:none}
.bs-win.hide{display:none}
.bs-win-title{height:34px;flex:none;display:flex;align-items:center;gap:8px;padding:0 6px 0 12px;background:#14284a;color:#e8eef7;font-size:13px;cursor:move;user-select:none}
.bs-win-name{flex:1}
.bs-win-btns button{width:30px;height:24px;border:0;border-radius:6px;background:transparent;color:#e8eef7;font-size:15px}
.bs-win-btns button:hover{background:rgba(255,255,255,.15)}.bs-win-btns .bs-close:hover{background:#d9403a}
.bs-win-body{flex:1;position:relative;overflow:auto}
.bs-win-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#2b2b2b}
.bs-msg{padding:28px;font-size:15px;line-height:1.5}
.bs-msg button{margin-top:14px;padding:9px 16px;border:0;border-radius:8px;background:#2f7cf6;color:#fff;font-weight:600}
.bs-spin{width:34px;height:34px;border:4px solid #c9d6ee;border-top-color:#2f7cf6;border-radius:50%;animation:bs-r 1s linear infinite;margin-bottom:14px}
@keyframes bs-r{to{transform:rotate(360deg)}}
.bs-note{color:#55617a;font-size:13px}
