.btn[data-v-1ce0e93b]{position:absolute;top:20px;right:20px;z-index:1000}.popup-overlay[data-v-d441ce64]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.popup-content[data-v-d441ce64]{background:#fff;border-radius:8px;width:500px;height:700px;position:relative;box-shadow:0 4px 15px rgba(0,0,0,.2);overflow:hidden}.popup-header[data-v-d441ce64]{background-color:#ccc;display:flex;justify-content:flex-end;align-items:center;cursor:move}.popup-text[data-v-d441ce64]{white-space:pre-wrap;word-wrap:break-word;overflow-y:auto;height:calc(100% - 100px);padding:10px}.popup-close[data-v-d441ce64]{margin-right:10px;font-size:24px;cursor:pointer}.popup-buttons[data-v-d441ce64]{display:flex;justify-content:flex-start;padding:10px}.popup-buttons button[data-v-d441ce64]{height:40px;display:flex;align-items:center;margin-right:10px}.text-area[data-v-d441ce64]{width:100%;height:100%;resize:none}.popup-backdrop[data-v-45e7642e]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.popup[data-v-45e7642e]{background:#fff;border-radius:8px;padding:20px;width:500px;box-shadow:0 4px 10px rgba(0,0,0,.2)}.btn-icon[data-v-45e7642e]{background:none;border:none;cursor:pointer;color:#007bff}.btn-icon[data-v-45e7642e]:hover{color:#0056b3}.table,.table-container{margin:0;padding:0}.table{border-collapse:collapse;width:100%;font-size:.85rem}.table td,.table th{border:1px solid #d3d3d3;vertical-align:middle;line-height:.9}.table td,.tech-item{padding:0;margin:0}.tech-item{width:100%;box-sizing:border-box;white-space:nowrap}.tech-item span[title]{cursor:pointer;text-decoration:underline;position:relative}.tech-item span[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background-color:#000;color:#fff;padding:5px 10px;border-radius:5px;white-space:nowrap;z-index:10;opacity:.8;font-size:.75rem}.star{font-size:15px;color:#d3d3d3;position:relative;display:inline-block;white-space:nowrap}.star.full{color:gold}.star.half{background:linear-gradient(90deg,gold 50%,#d3d3d3 0);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.star.empty{color:#d3d3d3}.table-button{padding:1px}.table-button,.table-button .btn-icon{display:flex;justify-content:center;align-items:center}.table-button .btn-icon{width:21px;height:21px;padding:0}.table-button .btn-icon i{font-size:16px}.table-hover tr td{vertical-align:middle}.limited-text{max-width:300px;white-space:nowrap}.limited-text,.limited-text .text-content{position:relative;overflow:hidden;text-overflow:ellipsis}.limited-text .text-content{display:block;max-height:4.8em;white-space:normal}.limited-text:after{content:"...";position:absolute;bottom:0;right:0;background-color:#fff;padding-left:10px;display:block;visibility:hidden}.limited-text:hover .text-content{max-height:none}.limited-text:hover:after{visibility:hidden}.more-text{cursor:pointer;color:blue;text-decoration:underline}body[data-v-cebbe628],html[data-v-cebbe628]{height:100%;margin:0}.login-container[data-v-cebbe628],body[data-v-cebbe628]{display:flex;justify-content:center;align-items:center}.login-container[data-v-cebbe628]{height:100vh;width:100%}.login-form[data-v-cebbe628]{width:400px}.card[data-v-cebbe628]{border:none;background-color:#f8f9fa}.table[data-v-0079dd72]{border-collapse:collapse}.table td[data-v-0079dd72],.table th[data-v-0079dd72]{text-align:center;vertical-align:middle}.switch[data-v-0079dd72]{position:relative;display:inline-block;width:50px;height:24px}.switch input[data-v-0079dd72]{opacity:0;width:0;height:0}.slider[data-v-0079dd72]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider[data-v-0079dd72]:before{position:absolute;content:"";height:18px;width:18px;border-radius:50%;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider[data-v-0079dd72]{background-color:#28a745}input:checked+.slider[data-v-0079dd72]:before{transform:translateX(26px)}