:root{--bg-deep:#050509;--glass-bg:rgba(22,22,35,.85);--glass-border:hsla(0,0%,100%,.1);--tech-blue:#00f2ea;--neon-purple:#b026ff;--color-up:#f36;--color-down:#0f8;--text-main:#fff;--text-sub:#8b9bb4}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-deep);background-image:radial-gradient(circle at 10% 20%,rgba(176,38,255,.08) 0,transparent 20%),radial-gradient(circle at 90% 80%,rgba(0,242,234,.08) 0,transparent 20%);color:var(--text-main);font-family:Rajdhani,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding-bottom:50px}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 8px 32px 0 rgba(0,0,0,.3);transition:border-color .3s}.glass-panel:hover{border-color:hsla(0,0%,100%,.15)}.font-num{font-family:JetBrains Mono,monospace;letter-spacing:-.5px}.text-blue{color:var(--tech-blue)}.text-purple{color:var(--neon-purple)}.text-up{color:var(--color-up)}.text-down{color:var(--color-down)}.text-sub{color:var(--text-sub)}.text-white{color:var(--text-main)}.gradient-text{background:linear-gradient(135deg,#00f2ea,#b026ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.badge-tech{background:rgba(0,242,234,.1);padding:4px 8px;border-radius:6px;font-size:.75rem;display:inline-block}.badge-tech,.btn-tech{color:var(--tech-blue)}.btn-tech{background:transparent;border:1px solid var(--tech-blue);border-radius:20px;padding:8px 20px;transition:all .3s;cursor:pointer;font-size:.95rem}.btn-tech:hover{background:var(--tech-blue);color:#000;box-shadow:0 0 15px var(--tech-blue)}.btn-tech:disabled{opacity:.5;cursor:not-allowed}.btn-icon-only{padding:5px 10px;font-size:.8rem;border-color:var(--glass-border);color:var(--text-sub)}.btn-icon-only:hover{border-color:var(--tech-blue);color:var(--tech-blue);background:transparent}.text-truncate-custom{display:inline-block;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background-color:#151621;border:1px solid var(--tech-blue);border-radius:20px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}.modal-header{padding:20px 30px;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:30px}.modal-footer{padding:20px 30px;border-top:1px solid var(--glass-border);display:flex;justify-content:flex-end;gap:10px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;color:var(--text-sub);font-size:.9rem}.form-control{width:100%;padding:10px 15px;background-color:#0b0c15;border:1px solid var(--glass-border);border-radius:8px;color:#fff;font-size:1rem;transition:all .3s}.form-control:focus{outline:none;border-color:var(--tech-blue);box-shadow:0 0 5px var(--tech-blue)}.list-group{list-style:none;padding:0;margin:0}.list-group-item{padding:12px 15px;background-color:transparent;border:1px solid var(--glass-border);border-radius:8px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.list-group-item:hover{background-color:hsla(0,0%,100%,.02)}.btn-close{background:transparent;border:none;color:var(--text-sub);font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .3s}.btn-close:hover{color:var(--tech-blue)}.btn-danger{background:transparent;border:1px solid #dc3545;color:#dc3545;padding:5px 10px;border-radius:6px;cursor:pointer;transition:all .3s}.btn-danger:hover{background:#dc3545;color:#fff}@media (max-width:768px){body{padding-bottom:20px}.modal-content{margin:10px}.text-truncate-custom{max-width:100px}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-spin{animation:spin 1s linear infinite}.container{max-width:1400px;margin:0 auto;padding:0 20px}@media (max-width:768px){.container{padding:0 15px}}