#app{width:100%;min-height:100vh}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2196f3,#21cbf3);display:flex;justify-content:center;align-items:center;z-index:9999}.loading-content{text-align:center;color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid hsla(0,0%,100%,.3);border-top:4px solid #fff;margin:0 auto 20px}.loading-text{font-size:24px;font-weight:500;margin-bottom:8px}.loading-subtitle{font-size:14px;opacity:.8}.app-container{width:100%;min-height:100vh}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scroll-left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{font-size:16px}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:#333;background-color:#f5f5f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:12px}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}h4{font-size:16px}h5{font-size:14px}h6{font-size:12px}p{margin-bottom:12px;line-height:1.5}a{color:#2196f3;text-decoration:none;transition:color .15s ease-in-out}a:hover{color:#1976d2}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f5f5f5}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#999}::selection{background-color:rgba(33,150,243,.2);color:#333}::-moz-selection{background-color:rgba(33,150,243,.2);color:#333}:focus{outline:2px solid #2196f3;outline-offset:2px}:focus:not(:focus-visible){outline:none}button{background:none;cursor:pointer}button,input,select,textarea{border:none;font-family:inherit;font-size:inherit}input,select,textarea{outline:none}img{max-width:100%;height:auto;display:block}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-clamp-2{-webkit-line-clamp:2}.text-clamp-2,.text-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.text-clamp-3{-webkit-line-clamp:3}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.m-1{margin:4px}.mt-1{margin-top:4px}.mr-1{margin-right:4px}.mb-1{margin-bottom:4px}.ml-1{margin-left:4px}.m-2{margin:8px}.mt-2{margin-top:8px}.mr-2{margin-right:8px}.mb-2{margin-bottom:8px}.ml-2{margin-left:8px}.m-3{margin:12px}.mt-3{margin-top:12px}.mr-3{margin-right:12px}.mb-3{margin-bottom:12px}.ml-3{margin-left:12px}.m-4{margin:16px}.mt-4{margin-top:16px}.mr-4{margin-right:16px}.mb-4{margin-bottom:16px}.ml-4{margin-left:16px}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.p-1{padding:4px}.pt-1{padding-top:4px}.pr-1{padding-right:4px}.pb-1{padding-bottom:4px}.pl-1{padding-left:4px}.p-2{padding:8px}.pt-2{padding-top:8px}.pr-2{padding-right:8px}.pb-2{padding-bottom:8px}.pl-2{padding-left:8px}.p-3{padding:12px}.pt-3{padding-top:12px}.pr-3{padding-right:12px}.pb-3{padding-bottom:12px}.pl-3{padding-left:12px}.p-4{padding:16px}.pt-4{padding-top:16px}.pr-4{padding-right:16px}.pb-4{padding-bottom:16px}.pl-4{padding-left:16px}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-grid{display:grid}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.w-100{width:100%}.h-100{height:100%}.min-h-screen{min-height:100vh}.rounded-sm{border-radius:4px}.rounded{border-radius:8px}.rounded-lg{border-radius:12px}.rounded-xl{border-radius:16px}.rounded-full{border-radius:50%}.shadow-sm{box-shadow:0 1px 3px rgba(0,0,0,.1)}.shadow{box-shadow:0 2px 8px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 4px 16px rgba(0,0,0,.15)}.shadow-xl{box-shadow:0 8px 32px rgba(0,0,0,.2)}.text-primary{color:#2196f3}.text-secondary{color:#666}.text-success{color:#4caf50}.text-warning{color:#ff9800}.text-error{color:#f44336}.text-white{color:#fff}.bg-primary{background-color:#2196f3}.bg-secondary{background-color:#f5f5f5}.bg-white{background-color:#fff}.bg-dark{background-color:#000}@media(max-width:767px){.mobile-hidden{display:none}}@media(min-width:768px){.mobile-only,.tablet-hidden{display:none}}@media(min-width:1024px){.desktop-hidden{display:none}}.fade-in{animation:fadeIn .3s ease-in-out}.slide-up{animation:slideUp .3s ease-out}.loading-spinner{width:40px;height:40px;border:4px solid rgba(33,150,243,.3);border-top:4px solid #2196f3;border-radius:50%;animation:spin 1s linear infinite}.el-button{border-radius:8px;font-weight:500;transition:all .3s ease-in-out}.el-button.is-round{border-radius:50%}.el-input .el-input__wrapper{border-radius:8px;transition:all .3s ease-in-out}.el-input .el-input__wrapper:hover{box-shadow:0 1px 3px rgba(0,0,0,.1)}.el-input .el-input__wrapper.is-focus{box-shadow:0 0 0 2px rgba(33,150,243,.2)}.el-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s ease-in-out}.el-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}.el-dialog{border-radius:12px}.el-dialog .el-dialog__header{padding:20px;border-bottom:1px solid #e0e0e0}.el-dialog .el-dialog__body{padding:20px}.el-dialog .el-dialog__footer{padding:20px;border-top:1px solid #e0e0e0}.el-loading-mask{background-color:hsla(0,0%,100%,.9)}.el-loading-mask .el-loading-spinner .circular{width:50px;height:50px}.el-loading-mask .el-loading-spinner .path{stroke:#2196f3}.el-message{border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15)}@media(max-width:767px){body{font-size:14px}.el-button,.el-input .el-input__inner{min-height:44px}}