@import"https://fonts.googleapis.com/css2?family=Raleway:wght@400;700&family=Lato:wght@400;700&display=swap";.pricing-container{padding:2rem 5rem 2rem 2rem;max-width:1400px;margin:0 auto}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1.5rem;max-width:1400px;margin-left:auto;margin-right:4rem}.vm-pricing-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-right:4rem}.pricing-card{border:1px solid #333;border-radius:6px;padding:1rem;text-align:center;position:relative;background:#1d1a16;color:#fff}.pricing-card.compact{padding:.75rem;border-radius:4px}.pricing-card.featured{border:2px solid #007bff;box-shadow:0 4px 12px #007bff33}.popular-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:#007bff;color:#fff;padding:2px 8px;border-radius:8px;font-size:.7rem;font-weight:600}.price{font-size:1.8rem;font-weight:700;margin:1rem 0;color:#fff}.price.compact{font-size:1.2rem;margin:.5rem 0}.price span{font-size:1rem;color:#666}.vm-header.compact{margin-bottom:.5rem}.vm-header h3{margin:0;font-size:1.2rem;color:#fff;font-weight:700}.vm-provider{color:#007bff;font-size:.85rem;font-weight:600;margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px}.vm-price.compact{margin:.75rem 0}.hourly-rate{font-size:1.6rem;font-weight:700;color:#4caf50;margin-bottom:.1rem;line-height:1}.monthly-estimate{font-size:.9rem;color:#888;font-style:italic;line-height:1;margin-top:.2rem;font-weight:500}.features ul{list-style:none;padding:0;margin:1.5rem 0}.features li{padding:.5rem 0;color:#ccc;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.1)}.features li:last-child{border-bottom:none}.vm-features.compact{margin:.5rem 0 0}.feature-item{font-size:.8rem;color:#ccc;margin:.15rem 0;padding:.2rem .4rem;background:rgba(255,255,255,.05);border-radius:3px;border:1px solid rgba(255,255,255,.1)}.pricing-button{width:100%;padding:.6rem;border:1px solid #007bff;border-radius:4px;background:transparent;color:#007bff;cursor:pointer;transition:all .3s ease;font-weight:600;font-size:.85rem}.pricing-button.primary{background:#007bff;color:#fff}.pricing-button:hover:not(:disabled){background:#007bff;color:#fff;transform:translateY(-1px)}.pricing-button:disabled{background:#4a4a4a;border-color:#4a4a4a;color:#888;cursor:not-allowed;opacity:.7}.vm-pricing-button:disabled{background:#2a2a2a;border-color:#2a2a2a;color:#666}.upgrade-notice{font-size:.7rem;color:#ff9800;margin-top:.5rem;font-style:italic}.current-plan{border:2px solid #28a745!important;box-shadow:0 4px 12px #28a74533}.current-badge{position:absolute;top:-8px;right:8px;background:#28a745;color:#fff;padding:2px 8px;border-radius:8px;font-size:.7rem}.vm-category-badge{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;padding:.4rem .8rem;border-radius:12px;font-size:.75rem;font-weight:600;text-align:center;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #007bff4d;border:1px solid rgba(0,123,255,.4)}.vm-category-badge.gpu-category{background:linear-gradient(135deg,#ff6b35,#ff4500);border:1px solid rgba(255,107,53,.4);box-shadow:0 2px 4px #ff6b354d}.feature-item.platform{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-style:italic;color:#b3b3b3}.pricing-button.current{background:#4a4a4a;border-color:#4a4a4a;color:#fff;opacity:.8;cursor:not-allowed}.pricing-loading,.pricing-error,.pricing-empty{text-align:center;padding:2rem;color:#ccc;background:rgba(255,255,255,.05);border-radius:6px;margin-top:1.5rem}.pricing-error{color:#f44336;background:rgba(244,67,54,.1);border:1px solid rgba(244,67,54,.3)}.pricing-error .pricing-button{margin-top:1rem;display:block;margin-left:auto;margin-right:auto}.pricing-footer{margin-top:2rem;padding:0;background:transparent;border-radius:6px;border:none}.pricing-note-section{display:grid;grid-template-columns:1fr;gap:1.5rem}.billing-setup-info{background:rgba(255,255,255,.1);border:1px solid #171718;border-left:4px solid #3c4044;border-radius:6px;padding:1.5rem}.billing-setup-info h3{color:#fff;margin:0 0 .75rem;font-size:1.1rem;font-weight:700}.billing-setup-info p{color:#fff;font-size:.95rem;line-height:1.5;margin:0}.billing-setup-info.compact{padding:1rem}.billing-setup-info.compact h3{font-size:1rem;margin:0 0 .5rem}.billing-setup-info.compact p{font-size:.9rem;line-height:1.4}.vm-compute-section{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:1.5rem;margin:1.5rem 0}.vm-compute-section h3{color:#fff;margin:0 0 1rem;font-size:1.1rem;font-weight:700}.storage-pricing-section{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:1.5rem;margin:1.5rem 0}.storage-pricing-section h3{color:#fff;margin:0 0 1rem;font-size:1.1rem;font-weight:700}.storage-pricing-info{display:flex;justify-content:flex-start}.storage-price-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:1rem;text-align:left;max-width:230px;width:100%}.storage-price-badge{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff;padding:.3rem .6rem;border-radius:8px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.75rem;display:inline-block}.storage-price-value{font-size:1.4rem;font-weight:700;color:#28a745;margin:.5rem 0}.storage-price-note{font-size:.8rem;color:#ccc;margin-top:.3rem;font-style:italic}.storage-loading,.storage-error,.storage-unavailable{text-align:center;padding:1rem;color:#ccc;background:rgba(255,255,255,.03);border-radius:4px;margin-top:.5rem}.storage-error{color:#f44336;background:rgba(244,67,54,.1);border:1px solid rgba(244,67,54,.3)}.cost-management-note{margin-top:1rem;padding:.75rem 1rem;background:rgba(255,165,0,.1);border:1px solid rgba(255,165,0,.3);border-left:3px solid #ff9100;border-radius:6px}.cost-management-note p{color:#fff;font-size:.9rem;margin:0;line-height:1.4}.billing-link{color:#ff9100;font-weight:300;transition:color .3s ease}.billing-link:hover{color:#b3d9ff;text-decoration:none}.priceToDatabase{color:#fff;font-weight:300;transition:color .3s ease}.priceToDatabase:hover{color:#0080ff;text-decoration:none}.pricing-details{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:1.5rem}.pricing-details h4{color:#fff;margin:0 0 .75rem;font-size:1rem;font-weight:600}.pricing-details p{color:#ccc;font-size:.9rem;line-height:1.5;margin:0}.pricing-note{color:#ccc;font-size:.9rem;line-height:1.4;margin:0;text-align:center}.billing-setup-notice{color:#007bff;font-size:.9rem;margin:1rem 0 0;padding:1rem;background:rgba(0,123,255,.1);border-radius:6px;border-left:3px solid #007bff}.pricing-subtitle{color:#888;font-size:1rem;margin:0;font-style:italic}@media (max-width: 1200px){.pricing-grid,.vm-pricing-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}}@media (max-width: 768px){.pricing-container{padding:1rem}.pricing-grid,.vm-pricing-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.pricing-card.compact{padding:.5rem}.hourly-rate{font-size:1.3rem}.monthly-estimate{font-size:1.85rem}.feature-item{font-size:.75rem;padding:.15rem .3rem}.pricing-footer{padding:1rem;margin-top:1.5rem}.pricing-note{font-size:.85rem}.pricing-note-section{grid-template-columns:1fr;gap:1rem}.billing-setup-info,.pricing-details{padding:1rem}.billing-setup-info h3{font-size:1rem}.pricing-details h4{font-size:.95rem}.billing-setup-info p,.pricing-details p{font-size:.85rem}.vm-compute-section,.storage-pricing-section{padding:1rem;margin:1rem 0}.storage-price-card{padding:.75rem}.storage-price-value{font-size:1.2rem}}@media (max-width: 480px){.pricing-grid,.vm-pricing-grid.compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.vm-provider{font-size:.8rem}.hourly-rate{font-size:1.1rem}.monthly-estimate{font-size:.7rem}.feature-item{font-size:.7rem;padding:.1rem .25rem;margin:.1rem 0}.vm-compute-section,.storage-pricing-section{padding:.75rem;margin:.75rem 0}.storage-price-card{padding:.5rem;max-width:200px}.storage-price-value{font-size:1.1rem}.storage-price-note{font-size:.75rem}}.billing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.billing-header h2{color:#fff;margin:0;font-size:1.8rem;font-weight:700}.manage-billing-button{padding:.8rem 1.5rem;background:#2c2823;color:#fff;border:1px solid #007bff;border-radius:4px;cursor:pointer;transition:all .3s ease}.manage-billing-button:hover{background:#007bff;color:#fff}.billing-container{padding:2rem;max-width:300px}.billing-content{margin-top:2rem;padding:2rem;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid rgba(255,255,255,.1)}.billing-content p{color:#ccc;line-height:1.6;margin-bottom:1rem}.billing-content p:last-of-type{margin-bottom:2rem;font-weight:500;color:#fff}.billing-content ul{color:#ccc;margin:1rem 0 2rem 1.5rem;line-height:1.6}.billing-content ul li{margin-bottom:.5rem}.setup-billing-button,.manage-billing-button{padding:.8rem 2rem;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;margin-right:1rem}.setup-billing-button:hover,.manage-billing-button:hover{background:#0056b3;transform:translateY(-1px)}.setup-billing-button:active,.manage-billing-button:active{transform:translateY(0)}.setup-billing-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.manage-billing-button{background:#28a745}.manage-billing-button:hover{background:#218838}.billing-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.billing-tab-button{padding:1rem 2rem;background:transparent;border:none;color:#ccc;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;font-size:1rem;font-weight:500}.billing-tab-button:hover{background:rgba(255,255,255,.05);color:#fff}.billing-tab-button.active{color:#fff;border-bottom-color:#4caf50;background:rgba(255,255,255,.05)}.billing-tab-content{min-height:400px}.payment-tab,.usage-tab{width:100%}.usage-breakdown{margin-top:1.5rem}.usage-summary{background:rgba(255,255,255,.05);padding:1.5rem;border-radius:8px;margin-bottom:2rem;border:1px solid rgba(255,255,255,.1)}.usage-summary h4{color:#fff;margin:0 0 1rem;font-size:1.2rem}.total-cost{color:#4caf50;font-size:1.3rem;margin:0}.usage-table-container{overflow-x:auto;background:rgba(255,255,255,.02);border-radius:8px;border:1px solid rgba(255,255,255,.1)}.usage-table{width:100%;border-collapse:collapse;min-width:800px}.usage-table th,.usage-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.usage-table th{background:rgba(255,255,255,.05);font-weight:600;color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.usage-table td{color:#ccc;font-size:.9rem}.vm-name{font-weight:600;color:#fff;background:rgba(255,255,255,.02)}.vm-total-cost{font-weight:600;color:#4caf50;background:rgba(255,255,255,.02)}.usage-table tr:hover{background:rgba(255,255,255,.03)}.no-breakdown{text-align:center;font-style:italic;color:#888}.usage-loading,.usage-error,.no-usage-data{text-align:center;padding:3rem;color:#ccc;background:rgba(255,255,255,.02);border-radius:8px;border:1px solid rgba(255,255,255,.1)}.usage-error{color:#f44336;background:rgba(244,67,54,.1);border-color:#f443364d}@media (max-width: 768px){.billing-tabs{flex-direction:column}.billing-tab-button{text-align:left;border-bottom:none;border-left:3px solid transparent}.billing-tab-button.active{border-bottom:none;border-left-color:#4caf50}.usage-table-container{font-size:.8rem}.usage-table th,.usage-table td{padding:.5rem}.usage-summary{padding:1rem}.total-cost{font-size:1.1rem}}.admin-section{padding:20px}.admin-content{margin-top:20px}.admin-info-grid{display:flex;flex-direction:column;gap:30px}.admin-section-block{background:#f9f9f9;padding:20px;border-radius:8px;border:1px solid #e0e0e0}.admin-section-block h3{margin-top:0;margin-bottom:20px;color:#333;border-bottom:2px solid #007bff;padding-bottom:8px}.admin-section .info-item{display:flex;flex-direction:column;margin-bottom:15px;gap:8px}.admin-section .info-item label{font-weight:700;color:#555;font-size:14px}.admin-section .info-item span,.admin-section .info-item div{color:#333}@media (min-width: 768px){.admin-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.admin-section-block:first-child{grid-column:1 / -1}}.account-tabs{width:200px;min-width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.account-tabs .account-tab-button{padding:1rem;background:rgba(45,38,32,.6);border:1px solid rgba(168,181,199,.2);color:#a8b5c7;text-align:left;cursor:pointer;border-radius:8px;transition:all .3s ease;white-space:nowrap;font-family:Raleway,sans-serif;font-size:.95rem;font-weight:500;border-left:3px solid transparent;width:100%;flex-shrink:0;box-sizing:border-box}.account-tabs .account-tab-button:hover{background:rgba(45,38,32,.8);color:#d9e2f1;border-color:#a8b5c74d;transform:translate(2px)}.account-tabs .account-tab-button.active{background:rgba(29,26,22,.9);color:#fff;border-left:3px solid #ffffff;border-color:#ffffff4d;font-weight:600;box-shadow:0 2px 8px #fff3,inset 0 1px #ffffff1a}.account-tabs .account-tab-button:focus{outline:none;box-shadow:0 0 0 2px #ffffff80;z-index:1}.account-tabs .account-tab-button:active{transform:translate(0);background:rgba(26,23,16,.9)}.account-tab-content{flex:1;background:#1d1a16;padding:2rem;border-radius:8px;border:1px solid rgba(168,181,199,.1);width:90%}@media (max-width: 768px){.account-settings-container{flex-direction:column;padding:1rem;gap:1rem}.account-tabs{width:100%;flex-direction:row;overflow-x:auto;gap:.5rem}.account-tabs .account-tab-button{min-width:120px;text-align:center;border-left:none;border-bottom:3px solid transparent}.account-tabs .account-tab-button.active{border-left:none;border-bottom:3px solid #ffffff}.account-tab-content{width:100%}}@media (max-width: 480px){.account-tabs .account-tab-button{padding:.875rem .5rem;font-size:.85rem;min-width:100px}}@media (prefers-contrast: high){.account-tabs .account-tab-button{border:2px solid #666}.account-tabs .account-tab-button.active{border:2px solid #ffffff;background-color:#000}}@media (prefers-reduced-motion: reduce){.account-tabs .account-tab-button{transition:none;transform:none}.account-tabs .account-tab-button:hover,.account-tabs .account-tab-button:active{transform:none}}/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
*   Fabrice Bellard's javascript vt100 for jslinux:
*   http://bellard.org/jslinux/
*   Copyright (c) 2011 Fabrice Bellard
*   The original design remains. The terminal itself
*   has been extended to include xterm CSI codes, among
*   other features.
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}*{box-sizing:border-box}body{margin:0;font-family:Raleway,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#000000,#000000);color:#d9e2f1;min-height:100vh;font-size:.9rem}.announcement-banner-container{position:fixed;top:0;left:0;right:0;z-index:1001;background-color:transparent}@media (max-width: 768px){.announcement-banner-container{margin-left:10px!important;margin-right:10px!important}}#main-header{position:fixed;top:54px;left:0;right:0;z-index:999;background-color:#000;padding:1.8rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000004d;overflow-x:auto;min-width:100vw}#main-header #title{display:flex;gap:1rem;align-items:center;flex-shrink:1;min-width:0}#main-header #title img{width:4.5rem;height:4.5rem;object-fit:contain}#main-header nav{flex-shrink:0;display:flex;align-items:center}banner{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:1rem 2rem!important;background-color:transparent!important;width:100%!important;box-sizing:border-box!important;max-width:100vw!important;overflow:visible!important;position:relative!important;z-index:1001!important;margin-top:1rem!important}banner button{position:relative!important;z-index:1002!important}banner nav{position:relative!important;z-index:1002!important}banner h1{flex-shrink:1;min-width:0;margin-right:1rem}banner nav{flex-shrink:0;display:flex;align-items:center;margin-left:auto}#main-header button{font-size:1.35rem;font-family:Lato,sans-serif}h1{font-family:Lato,sans-serif;font-weight:700;font-size:1.8rem;margin:0;color:#fff;letter-spacing:.2rem;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-tabs{width:90%;max-width:70rem;margin:90px auto 0;display:flex;gap:0;background-color:#1d1a16;border-radius:1rem 1rem 0 0;overflow:hidden;box-shadow:0 4px 16px #0006,0 2px 8px #0003;position:relative}.app-tabs:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(217,226,241,.1),transparent)}.tab-button{flex:1;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#252018 0%,#1f1c15 100%);color:#a8b5c7;border:none;cursor:pointer;font-family:Raleway,sans-serif;font-size:.95rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);border-bottom:3px solid transparent;position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-button:hover{background:linear-gradient(135deg,#2d2620 0%,#26221a 100%);color:#d9e2f1;transform:translateY(-1px)}.tab-button.active{background:linear-gradient(135deg,#1d1a16 0%,#181510 100%);color:#fff;border-bottom:3px solid #007bff;font-weight:600;box-shadow:0 -2px 8px #007bff33,inset 0 1px #ffffff1a}.tab-button:focus{outline:none;box-shadow:0 0 0 2px #007bff80;z-index:1}.tab-button:active{transform:translateY(0);background:linear-gradient(135deg,#1a1710 0%,#161411 100%)}.tab-button:first-child{border-radius:1rem 0 0}.tab-button:last-child{border-radius:0 1rem 0 0}.template-count{background-color:#007bff33;color:#007bff;padding:.25rem .5rem;border-radius:.75rem;font-size:.8rem;font-weight:600;min-width:1.5rem;text-align:center}.tab-button.active .template-count{background-color:#007bff4d;color:#4da3ff}.tab-content{width:90%;max-width:70rem;margin:0 auto 2rem;background-color:#1d1a16;border-radius:0 0 1rem 1rem;box-shadow:0 4px 16px #0006,0 2px 8px #0003;min-height:400px;position:relative;overflow:hidden}.tab-content .loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,123,255,.1),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}#appPrograms{list-style:none;margin:0;padding:1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative;z-index:1}@media (max-width: 1200px){#appPrograms{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){#appPrograms{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.75rem}}@media (max-width: 480px){#appPrograms{grid-template-columns:1fr;gap:.5rem;padding:.5rem}}@media (max-width: 768px){.appProgram-item img{height:10rem}.appProgram-item h3{font-size:1rem;margin:.5rem 0}.appProgram-item-description{font-size:.7rem;margin:.75rem}.appProgram-item-price{font-size:.85rem;padding:.4rem 1.5rem}}@media (max-width: 480px){.appProgram-item img{height:8rem}.appProgram-item h3{font-size:.95rem;margin:.5rem .25rem}.appProgram-item-description{font-size:.65rem;margin:.5rem .75rem;line-height:1.4}.appProgram-item-price{font-size:.8rem;padding:.35rem 1.25rem}.appProgram-item-actions{margin-bottom:1rem;padding:0 4px}}@media (max-width: 768px){.app-tabs{width:95%;margin-top:120px}.tab-content{width:95%}.tab-button{padding:1rem .75rem;font-size:.9rem;flex-direction:column;gap:.25rem}.template-count{font-size:.75rem}}@media (max-width: 480px){.tab-button{padding:.875rem .5rem;font-size:.85rem}}@media (prefers-contrast: high){.tab-button{border:1px solid #666}.tab-button.active{border:2px solid #007bff;background-color:#000}}@media (prefers-reduced-motion: reduce){.tab-button{transition:none}.tab-content .loading:before{animation:none}}.app-gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background-color:#1d1a16;border-radius:0 0 1rem 1rem;min-height:400px;text-align:center}.app-gallery-empty .empty-state-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.8}.app-gallery-empty h3{color:#fff;margin:0 0 1rem;font-size:1.5rem;font-weight:600;font-family:Raleway,sans-serif}.app-gallery-empty p{color:#a8b5c7;margin:0 0 2rem;font-size:1rem;line-height:1.6;max-width:400px}.add-app-button{background:linear-gradient(135deg,#007bff 0%,#0056b3 100%);color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;font-family:Raleway,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #007bff4d}.add-app-button:hover{background:linear-gradient(135deg,#0056b3 0%,#004085 100%);transform:translateY(-2px);box-shadow:0 4px 16px #007bff66}.add-app-button:active{transform:translateY(0);box-shadow:0 2px 8px #007bff4d}.add-app-button:focus{outline:none;box-shadow:0 0 0 3px #007bff80}@media (max-width: 768px){.app-gallery-empty{padding:3rem 1.5rem;min-height:300px}.app-gallery-empty .empty-state-icon{font-size:3rem;margin-bottom:1rem}.app-gallery-empty h3{font-size:1.25rem}.app-gallery-empty p{font-size:.9rem}.add-app-button{padding:.625rem 1.25rem;font-size:.875rem}}.appProgram-item{background-color:#1d1a16;border-radius:1rem;overflow:hidden;text-align:center;box-shadow:0 1px 6px #0000004d;position:relative}.appProgram-item article{height:100%;display:flex;flex-direction:column;justify-content:space-between}.appProgram-item img{width:100%;height:12rem;object-fit:cover;max-width:100%}.appProgram-item h3{font-size:1.1rem;font-weight:700;margin:.75rem 0;color:#fff}.appProgram-item-description{margin:1rem;font-size:.75rem}.appProgram-item-price{display:inline-block;background-color:#312c1d;color:#fff;font-size:.9rem;font-weight:700;padding:.5rem 2rem;margin:0;border-radius:4px}.appProgram-item-actions{margin-bottom:1.5rem;padding:0 12px;box-sizing:border-box;overflow:hidden}.cart h2{margin:1rem 0}.cart ul{list-style:none;margin:.5rem 0;padding:0}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.modal-actions .text-button{color:#1d1a16}.modal-actions .text-button:hover,.modal-actions .text-button:active{color:#312c1d}.cart-total{display:flex;justify-content:flex-end;margin:2rem 0;font-size:1.15rem;font-weight:700;color:#46443c}.cart-item{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0}.cart-item p{margin:0}.cart-item-actions{display:flex;gap:1rem;align-items:center}.cart-item-actions button{cursor:pointer;font-size:1rem;width:1.5rem;height:1.5rem;border-radius:50%;border:none;background-color:#312c1d;color:#fff;display:flex;justify-content:center;align-items:center}.cart-item-actions button:hover,.cart-item-actions button:active{background-color:#1d1a16;color:gray}.control{margin:.5rem 0;display:flex;flex-direction:column}.control label{font-weight:700;margin-bottom:.5rem}.control input{width:100%;max-width:20rem;font:inherit;padding:.5rem;border-radius:4px;border:1px solid #ccc}.control-row{display:flex;justify-content:flex-start;gap:1rem}.button{font:inherit;cursor:pointer;background-color:#fff;border:1px solid #ffffff;color:#1f1a09;padding:.5rem 1.5rem;border-radius:4px}.button:hover,.button:active{background-color:gray;border-color:gray;color:#1f1a09}.text-button{font:inherit;cursor:pointer;background-color:transparent;border:none;color:#fff}.text-button:hover,.text-button:active{color:gray}.modal{background-color:#e4ddd4;border-radius:6px;border:none;box-shadow:0 2px 8px #0009;padding:1rem;width:80%;max-width:40rem;animation:fade-slide-up .3s ease-out forwards}.modal::backdrop{background-color:#0000008c}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(4rem)}to{opacity:1;transform:translateY(0)}}.deployment-cart-button{background-color:transparent;color:gray;border:none;font-size:1.5rem;cursor:pointer;padding:0;font-family:Lato,sans-serif}.deployment-cart-button:hover{background-color:transparent;color:#fff}.menu-bar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#000;padding:1rem;display:flex;justify-content:space-between;align-items:center}.menu-bar-left img{height:2.5rem;width:auto}.menu-bar-left{display:flex;align-items:center;gap:1rem}.total-cost{color:#fff;font-size:1rem;font-weight:600;padding:.6rem 1.2rem;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.08));border-radius:6px;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;white-space:nowrap;box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.total-cost.error{background:rgba(255,0,0,.1);border-color:#ff00004d;color:#ff6b6b}.credit-balance-container{position:relative;display:inline-block}.credit-balance{color:#fffc;font-size:.85rem;font-weight:400;padding:.35rem .8rem;background:rgba(255,255,255,.05);border-radius:4px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:.5rem;white-space:nowrap;transition:all .2s ease}.credit-balance:hover{background:rgba(255,255,255,.08);border-color:#ffffff26;color:#ffffffe6}.credit-balance.error{background:rgba(255,0,0,.1);border-color:#ff00004d;color:#ff6b6b}.credit-balance-text{display:flex;flex-direction:column;line-height:1.2}.credit-line-1,.credit-line-2{display:block}.credit-line-1{font-size:.8rem;font-weight:500;color:#ff0}.credit-line-2{font-size:.75rem;font-weight:400;color:#ff0;opacity:1}.credit-info-icon{background:none;border:none;color:#fff9;cursor:pointer;padding:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:.25rem}.credit-info-icon:hover{color:#ffffffe6;background:rgba(255,255,255,.1)}.credit-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:#333;color:#fff;padding:12px 24px;border-radius:6px;font-size:.8rem;z-index:1000;box-shadow:0 2px 10px #0000004d;border:1px solid rgba(255,255,255,.1);width:400px;white-space:normal;line-height:1.3;animation:tooltipFadeIn .2s ease-out}.credit-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #333}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.menu-bar-right{display:flex;align-items:center;gap:1.5rem}.nav-buttons-container{display:flex;align-items:center;gap:.25rem;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border-radius:8px;padding:.3rem;border:none;box-shadow:0 2px 8px #0000001a}.nav-button{color:#fff;text-decoration:none;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;border-radius:6px;transition:all .3s cubic-bezier(.4,0,.2,1);background:transparent;border:none;position:relative;white-space:nowrap;font-family:Raleway,sans-serif}.nav-button:hover{color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.08));transform:translateY(-1px);box-shadow:0 4px 12px #0003}.nav-button.active{color:#fff;background:transparent;font-weight:600;border-bottom:3px solid #ffffff;border-radius:6px 6px 0 0}.nav-button:focus{outline:none;box-shadow:none}.nav-button:active{transform:translateY(0)}.menu-bar-right .tab{color:#fff;text-decoration:none;font-size:1rem;font-weight:500;padding-bottom:.25rem;border-bottom:2px solid transparent;transition:border-bottom-color .3s ease}.menu-bar-right .tab:hover{color:#fff}.menu-bar-right .tab.active{color:#fff;border-bottom-color:#fff}.logout-button{background-color:transparent!important;border:2px solid #ffffff!important;color:#fff!important;padding:.5rem 1.5rem!important;margin-left:2rem!important}.logout-button:hover{background-color:#ffffff1a!important}.App{padding-top:80px}@media (max-width: 768px){.App{padding-top:140px}}@media (max-width: 480px){.App{padding-top:130px}}.ssh-terminal-app{padding-top:0!important}.add-app-tabs{width:100%;max-width:none;margin:2rem 0;margin-top:108px;padding:0 1rem}.vibe-coding-container{position:relative;width:100%}.tab-buttons{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center;max-width:871px;margin-left:auto;margin-right:auto}.tab-buttons>*{flex:1}.tab-button{padding:1rem 2rem;background:transparent;border:none;color:#fff;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;font-size:1rem;width:100%;text-align:center}.tab-button:hover{background:rgba(255,255,255,.1)}.tab-button.active{background:linear-gradient(135deg,#1d1a16 0%,#181510 100%);color:#fff;border-bottom:3px solid #ffffff;font-weight:600;box-shadow:0 -2px 8px #fff3,inset 0 1px #ffffff1a}.code-editor{font-family:monospace;background:#1d1a16;color:#fff;padding:1rem;width:100%;min-height:500px;border:1px solid #333;border-radius:4px;resize:vertical;line-height:1.5;font-size:14px;-moz-tab-size:4;tab-size:4;overflow-y:auto;margin-top:1.5rem}.code-editor:focus{outline:none;border-color:gray;box-shadow:0 0 0 2px #ffffff1a}.code-editor-form{max-width:95%!important;margin:1.5rem auto 2rem;padding:2rem;background-color:#000;border-radius:8px;box-shadow:0 2px 8px #0000004d}.monaco-editor-container{width:100%;height:500px;margin-top:1rem;border:1px solid #333;border-radius:4px;overflow:hidden}.add-app-form:not(.code-editor-form){max-width:540px;margin:2rem auto;padding:2rem;background-color:#000;border-radius:8px;box-shadow:0 2px 8px #0000004d;margin-top:108px;position:relative;z-index:1}.form-control{margin-bottom:1.5rem;position:relative;display:flex;flex-direction:column;align-items:center;padding:.5rem;width:100%}.form-control label{display:block;color:#fff;font-weight:700;margin-bottom:.75rem;font-size:.99rem;position:relative;z-index:2;align-self:center;width:50%;text-align:left}.form-control input,.form-control textarea{width:50%;padding:.5rem;border:1px solid #ffffff;border-radius:4px;background-color:transparent;color:#fff;font-size:.9rem;position:relative;z-index:2}.form-control input:focus{outline:none;border-color:gray;background-color:#ffffff0d}.form-control input::placeholder{color:#ffffff80}.add-app-form button{margin-top:1rem;width:50%;padding:.75rem;font-size:.99rem;margin:0 auto;display:block}.form-control input[type=file]{padding:.5rem;border:1px solid #ffffff;border-radius:4px;background-color:transparent;color:#fff;font-size:1rem;width:50%;cursor:pointer}.form-control input[type=file]::file-selector-button{background-color:gray;color:#fff;padding:.5rem 1rem;border:none;border-radius:4px;margin-right:1rem;cursor:pointer}.form-control input[type=file]::file-selector-button:hover{background-color:#666}.image-preview{margin-top:1rem;text-align:center;width:50%;margin:.5rem auto}.image-preview img{max-width:200px;max-height:200px;border-radius:8px;border:2px solid #ffffff}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.notification-message{position:fixed;top:20%;left:50%;transform:translate(-50%,-50%);background-color:#4caf50;color:#fff;padding:15px 25px;border-radius:8px;z-index:9999;font-size:1.08rem;font-weight:500;box-shadow:0 4px 6px #0000001a;animation:fadeIn .3s ease-out forwards;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.run-button{background-color:#4caf50!important;border-color:#4caf50!important;color:#fff!important}.run-button:hover{background-color:#45a049!important;border-color:#45a049!important}.added-button{background-color:#666!important;border-color:#666!important;cursor:default!important}.added-button:hover{background-color:#666!important;border-color:#666!important}.form-control textarea:focus{outline:none;border-color:#666;background-color:#1a1a1a}.pending-button{background-color:#666!important;cursor:not-allowed!important}.pending-button:hover{background-color:#666!important}.pending-button.terminating{background-color:#dc3545!important;color:#fff!important;cursor:not-allowed!important;opacity:.7}.pending-button.terminating:hover{background-color:#dc3545!important;opacity:.7}.button-group{display:flex;gap:.5rem;justify-content:center}.app-actions-button-group{display:flex;gap:4px;justify-content:center;align-items:stretch;flex-wrap:nowrap;width:calc(100% - 16px);margin:0 8px}.app-actions-button-group .button{padding:.25rem 1rem;border-radius:4px;font-size:14px;font-weight:500;border:1px solid transparent;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:4px;text-decoration:none;cursor:pointer;box-sizing:border-box;white-space:nowrap;flex:1}.run-now-button{background-color:#22c55e!important;border-color:#22c55e!important;color:#fff!important;font-weight:600!important}.run-now-button:hover:not(:disabled){background-color:#16a34a!important;border-color:#16a34a!important;transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.run-now-button:active{transform:translateY(0);box-shadow:0 2px 4px #22c55e4d}.ssh-access-button{background-color:#3b82f6!important;border-color:#3b82f6!important;color:#fff!important;padding:.25rem .5rem!important;flex:0 0 auto!important;min-width:32px!important}.ssh-access-button:hover:not(:disabled){background-color:#2563eb!important;border-color:#2563eb!important;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.ssh-access-button:active{transform:translateY(0);box-shadow:0 2px 4px #3b82f64d}.ssh-access-button:disabled{background-color:#64748b!important;border-color:#64748b!important;cursor:not-allowed!important;opacity:.6!important;transform:none!important;box-shadow:none!important}.ssh-icon{font-size:16px;line-height:1}.app-terminate-button{background-color:#ef4444!important;border-color:#ef4444!important;color:#fff!important}.app-terminate-button:hover:not(:disabled){background-color:#dc2626!important;border-color:#dc2626!important;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.app-terminate-button:active{transform:translateY(0);box-shadow:0 2px 4px #ef44444d}.app-terminate-button:disabled{background-color:#64748b!important;border-color:#64748b!important;cursor:not-allowed!important;opacity:.6!important;transform:none!important;box-shadow:none!important}.app-actions-button-group .button,.appProgram-item-actions .button{min-height:40px}@media (max-width: 950px){.app-actions-button-group{gap:1px;width:100%;margin:0;padding:0}.app-actions-button-group .button{padding:.2rem .3rem;font-size:10px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ssh-access-button{flex:0 0 auto!important;padding:.2rem .25rem!important;min-width:22px!important;font-size:9px!important}.appProgram-item-actions{padding:0 8px}}@media (max-width: 768px){.app-actions-button-group{gap:1px;width:100%;margin:0;flex-wrap:wrap;padding:0}.app-actions-button-group .button{padding:.2rem .4rem;font-size:11px;min-width:auto;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ssh-access-button{padding:.2rem .3rem!important;min-width:24px!important;flex:0 0 auto!important}}@media (max-width: 480px){.app-actions-button-group{gap:0px;width:100%;margin:0}.app-actions-button-group .button{padding:.1rem .15rem;font-size:9px;min-height:28px;border-radius:2px}.run-now-button{font-size:8px!important;padding:.1rem .2rem!important}.app-terminate-button{font-size:8px!important;padding:.1rem .15rem!important}.ssh-access-button{padding:.1rem .15rem!important;min-width:18px!important;font-size:7px!important}}.terminate-button{background-color:#dc3545!important;border-color:#dc3545!important;color:#fff!important;cursor:pointer;font-size:.9rem;padding:4px 8px}.terminate-button:hover:not(:disabled){background-color:#c82333!important;border-color:#bd2130!important}.terminate-vm-button{background:none!important;border:none!important;cursor:pointer;font-size:.9rem;padding:4px 8px;opacity:.7;transition:opacity .2s;color:#fff!important}.terminate-vm-button:hover:not(:disabled){opacity:1!important}.dashboard-tab-content.vm-content .vm-table-container{width:100%;max-width:none;margin:0;position:relative;z-index:1}.dashboard-tab-content.vm-content .vm-table-title{display:none}.dashboard-tab-content.vm-content .vm-table,.dashboard-tab-content.vm-content .vm-table-loading,.dashboard-tab-content.vm-content .vm-table-empty,.dashboard-tab-content.vm-content .vm-table-error,.dashboard-tab-content.vm-content .vm-table-initializing,.dashboard-tab-content.vm-content .vm-table-refreshing{margin-top:-2rem}.dashboard-tab-content.vm-content .vm-table-container{padding-top:0;margin-top:0}.vm-table-title{color:#fff;margin:4rem 0 1.5rem;text-align:left;font-size:1.25rem;font-weight:700;line-height:1.5;display:block;background-color:#00000080;padding:.75rem;border-radius:4px}.vm-table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background-color:#1d1a16;border-radius:8px;box-shadow:0 1px 6px #0000004d}.vm-table-loading .loading-spinner{width:40px;height:40px;border:4px solid #333;border-top:4px solid #4CAF50;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.vm-table-loading p{color:#fff;font-size:1.1rem;margin:0}.vm-table-initializing{padding:3rem 2rem;background-color:#1d1a16;border-radius:8px;box-shadow:0 1px 6px #0000004d;min-height:200px}.vm-table-refreshing{padding:2rem;background-color:#1d1a16;border-radius:8px;box-shadow:0 1px 6px #0000004d;min-height:150px;display:flex;align-items:center;justify-content:center}.refreshing-indicator{display:flex;align-items:center;gap:.75rem;color:#ccc;font-size:.95rem}.small-spinner{width:20px;height:20px;border:2px solid #333;border-top:2px solid #4CAF50;border-radius:50%;animation:spin 1s linear infinite}.vm-table-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background-color:#1d1a16;border-radius:8px;box-shadow:0 1px 6px #0000004d}.vm-table-error .error-icon{font-size:2.5rem;margin-bottom:1rem}.vm-table-error h3{color:#fff;margin-bottom:.5rem;font-size:1.25rem}.vm-table-error p{color:#ccc;margin-bottom:1.5rem;text-align:center}.vm-table-error .retry-button{background-color:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.vm-table-error .retry-button:hover{background-color:#45a049}.vm-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background-color:#1d1a16;border-radius:8px;box-shadow:0 1px 6px #0000004d}.vm-table-empty .empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.vm-table-empty h3{color:#fff;margin-bottom:.5rem;font-size:1.25rem}.vm-table-empty p{color:#ccc;margin-bottom:.5rem;text-align:center;line-height:1.5}.vm-table-empty .empty-state-hint{color:#4caf50;font-weight:500}.vm-table{width:100%;min-width:800px;border-collapse:collapse;background-color:#1d1a16;border-radius:8px;overflow:hidden;box-shadow:0 1px 6px #0000004d}.vm-table th,.vm-table td{padding:1rem;text-align:left;border-bottom:1px solid #333}.vm-table th{background-color:#2d2a26;font-weight:700;color:#fff}.vm-table tr:hover{background-color:#2d2a26}.vm-name-container{display:flex;align-items:center;gap:.5rem}.expand-indicator{color:#4caf50;font-size:.9rem;transition:transform .2s ease;cursor:pointer}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}.status-badge.available{background-color:#4caf50;color:#fff}.status-badge.busy{background-color:#ff9800;color:#fff}.ports-info{font-size:.85rem;line-height:1.4}.vm-table .status{padding:.4rem .8rem;border-radius:4px;font-weight:500;text-transform:capitalize}.vm-table .status.running{color:#4caf50;border:1px solid #4CAF50;background-color:#4caf501a}.vm-table .status.stopped{color:#dc3545;border:1px solid #dc3545;background-color:#dc35451a}.vm-table .status.pending,.vm-table .status.creating{color:#ffc107;border:1px solid #ffc107;background-color:#ffc1071a}.vm-table .status.terminating{color:#dc3545;border:1px solid #dc3545;background-color:#dc35451a}.vm-table tr{cursor:pointer}.vm-table tr:hover{background-color:#2d2a26b3}.vm-table tr.selected{background-color:#2d2a26e6}.metrics-graphs{padding:10px!important;background-color:#1a1a1a}.graphs-container{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:5px;max-height:200px}.graph-wrapper{height:180px;width:100%}@media (max-width: 1200px){.graphs-container{grid-template-columns:1fr;max-height:none}}.deployed-app{background-color:#2d2a26;padding:.25rem .5rem;border-radius:4px;margin:.25rem 0}.deployed-app.small,.vm-table td small{font-size:.75rem;color:#ccc}.add-vm-button{background-color:#4caf50!important;border-color:#4caf50!important;color:#fff!important;padding:.5rem 1rem!important;font-size:1rem!important;margin-left:1rem;position:relative!important;z-index:1010!important}@media (max-width: 770px){.add-vm-button{position:fixed!important;top:200px!important;right:10px!important;margin-left:0!important;font-size:.9rem!important;padding:.5rem .8rem!important;z-index:9999!important;box-shadow:0 2px 8px #0000004d!important}}@media (max-width: 450px){.add-vm-button{top:220px!important;font-size:.8rem!important;padding:.4rem .6rem!important}}@media (max-width: 380px){.add-vm-button{top:250px!important;font-size:.7rem!important;padding:.3rem .5rem!important}}.add-vm-button.disabled,.add-vm-button:disabled{background-color:#6b6b6b!important;border-color:#888!important;color:#ccc!important;opacity:.8!important;cursor:not-allowed!important}.add-vm-button:hover{background-color:#45a049!important;border-color:#45a049!important}.form-control select{width:100%;padding:.5rem;border:1px solid #ffffff;border-radius:4px;background-color:transparent;color:#fff;font-size:1rem;cursor:pointer}.form-control select option{background-color:#1d1a16;color:#fff}.form-control select:focus{outline:none;border-color:#666;background-color:#ffffff0d}.modal form{display:flex;flex-direction:column;gap:1rem}.modal h2{color:#1f1a09;margin-bottom:1rem}.modal .form-control label{color:#1f1a09}.modal .form-control input,.modal .form-control select{background-color:#fff;color:#1f1a09;border-color:#ccc}.modal .form-control select option{background-color:#fff;color:#1f1a09}.vm-table .network-column{min-width:120px;width:120px}.billing-info{background:rgba(255,255,255,.1);padding:1rem;border-radius:8px;margin-bottom:2rem;font-size:1rem}.billing-info h3{margin:0 0 .8rem;color:#4caf50}.billing-info p{margin:.8rem 0;font-size:1rem}.billing-amount{font-weight:700;color:#fff}.landing-page-modern{min-height:100vh;background:linear-gradient(135deg,#000000 0%,#1a1a1a 100%);overflow-x:hidden}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff}.loading-spinner{width:40px;height:40px;border:3px solid #333;border-top:3px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.hero-container{display:grid;grid-template-columns:1.5fr 1fr;min-height:calc(100vh - 120px);max-width:1600px;margin:-1rem auto 0;align-items:center;gap:4rem;padding:0 2rem 2rem}.hero-video-section{display:flex;align-items:center;justify-content:center;position:relative}.video-wrapper{position:relative;width:100%;max-width:1200px;border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff1a;border:2px solid #d1d5db;transition:transform .3s ease,box-shadow .3s ease}.video-wrapper:hover{box-shadow:0 35px 60px -12px #0009,0 0 0 1px #ffffff26}.hero-video{width:100%;height:auto;display:block;border-radius:16px}.video-overlay{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:8px 16px;border-radius:20px;font-size:.875rem;font-weight:500;color:#fff}.video-label{display:flex;align-items:center;gap:6px}.video-label:before{content:"●";color:#22c55e;font-size:.75rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero-content-section{display:flex;align-items:center;padding:2rem 0}.hero-content{width:100%;max-width:540px}.brand-section{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.centered-brand-section{display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem 0 0;max-width:1600px;margin:0 auto;margin-bottom:-2rem}.hero-logo{width:64px;height:64px;object-fit:contain;transition:transform .3s ease}.hero-logo:hover{transform:scale(1.05)}.hero-title{font-family:Lato,sans-serif;font-size:1.75rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.025em}.value-proposition{margin-bottom:2.5rem}.hero-slogan{font-family:Lato,sans-serif;font-size:2.5rem;font-weight:700;line-height:1.2;color:#fff;margin:0 0 1.5rem;letter-spacing:-.02em}.highlight-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.no-hassle-highlight{position:relative;background:linear-gradient(135deg,#10b981,#06d6a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;padding:2px 0}.no-hassle-highlight:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#ef4444 20%,#ef4444 80%,transparent 100%);transform:translateY(-50%);opacity:.8}@media (prefers-reduced-motion: reduce){.no-hassle-highlight{animation:none}}@media (prefers-contrast: high){.no-hassle-highlight{background:none;-webkit-text-fill-color:#22c55e;color:#22c55e;border-bottom:2px solid #22c55e}.no-hassle-highlight:before{background:#dc2626}}.no-hassle-highlight:focus{outline:2px solid #10b981;outline-offset:2px;border-radius:4px}.hero-description{font-size:1.1875rem;line-height:1.7;color:#a1a1aa;margin:0;max-width:480px;letter-spacing:.01em}.feature-highlights{display:flex;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:#d4d4d8;font-weight:600;letter-spacing:.025em}.feature-icon{font-size:1.125rem}.cta-section{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.cta-primary{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1.125rem;font-weight:700;font-family:Lato,sans-serif;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #3b82f64d;min-height:48px;letter-spacing:.025em}.cta-primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.cta-primary:active{transform:translateY(0)}.cta-arrow{transition:transform .2s ease}.cta-primary:hover .cta-arrow{transform:translate(4px)}.cta-secondary{display:inline-flex;align-items:center;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.2);padding:1rem 2rem;border-radius:12px;font-size:1.125rem;font-weight:600;font-family:Lato,sans-serif;cursor:pointer;transition:all .2s ease;min-height:48px}.cta-secondary:hover{background:rgba(255,255,255,.1);border-color:#ffffff4d;transform:translateY(-2px)}.cta-secondary:active{transform:translateY(0)}.trust-signals{display:flex;gap:1.5rem;flex-wrap:wrap}.trust-item{display:flex;align-items:center;font-size:.9375rem;color:#d4d4d8;font-weight:600}@media (max-width: 1024px){.hero-container{grid-template-columns:1fr;gap:3rem;text-align:center;margin:0 auto;width:100%;padding:2rem}.hero-video-section{order:2}.hero-content-section{order:1}.hero-slogan{font-size:2.25rem}.brand-section{justify-content:center}.hero-content-section{display:flex;justify-content:center;align-items:center}.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center}.value-proposition{text-align:center;width:100%}.hero-description{text-align:center;margin-left:auto;margin-right:auto}.feature-highlights{justify-content:center}}@media (max-width: 768px){.centered-brand-section{padding:1.5rem 0 0}.hero-container{padding:0 1.5rem 1.5rem;gap:2rem;max-width:100%;margin:0 auto;width:100%}.hero-slogan{font-size:2rem}.hero-title{font-size:1.5rem}.hero-description{font-size:1rem}.feature-item{font-size:.9375rem}.trust-item{font-size:.875rem}.no-hassle-highlight{font-weight:700}.no-hassle-highlight:before{height:1.5px}.feature-highlights{justify-content:center}.cta-section{flex-direction:column;align-items:center}.cta-primary,.cta-secondary{width:100%;max-width:280px;justify-content:center}.trust-signals{justify-content:center;text-align:center}}.hero-description span[style*=font-size]{font-size:1em!important;font-weight:500;opacity:.9}@media (max-width: 480px){.centered-brand-section{padding:1rem 0 0}.hero-container{padding:0 1rem 1rem;gap:1.5rem}.hero-slogan{font-size:1.75rem;line-height:1.15}.feature-highlights{flex-direction:column;align-items:center;gap:1rem}.trust-signals{flex-direction:column;gap:1rem}.video-wrapper{margin:0 -1rem}.value-proposition{text-align:center;width:100%}.hero-description{text-align:center;margin-left:auto;margin-right:auto}}@media (max-width: 375px){.centered-brand-section{padding:.75rem 0 0}.hero-container{padding:0 .75rem .75rem;gap:1.25rem;margin:0 auto;width:100%}.hero-content-section{padding:1rem 0}.hero-content{max-width:100%}.brand-section{margin-bottom:1.5rem}.value-proposition{margin-bottom:2rem}.hero-slogan{font-size:1.65rem;line-height:1.1}.hero-description{font-size:.95rem;line-height:1.6;max-width:100%}.feature-highlights{margin-bottom:2rem}.cta-section{margin-bottom:1.5rem}}.landing-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.landing-logo{width:200px;height:auto;margin-bottom:2rem;transition:transform .3s ease}.landing-logo:hover{transform:scale(1.05)}.landing-page h1{margin-bottom:1rem}.landing-page p{margin-bottom:2rem;color:gray}.user-profile-menu{display:flex;align-items:center;margin-right:1rem}.user-profile-menu .user-name{color:#fff;font-weight:500}.loading-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.loading-logo{width:200px;height:auto;margin-bottom:1rem}@keyframes blink{0%,to{opacity:0}50%{opacity:1}}.user-profile-section{display:flex;align-items:center}.profile-picture{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover;border:2px solid #ffffff}.logout-button{margin-left:.5rem!important}.account-settings-container{max-width:1200px;margin:2rem auto;padding:2rem;display:flex;gap:2rem;margin-top:108px}.account-tabs{width:200px;display:flex;flex-direction:column;gap:1rem}.account-tabs .tab-button{padding:1rem;background:transparent;border:none;color:#fff;text-align:left;cursor:pointer;border-left:3px solid transparent;transition:all .3s ease;white-space:nowrap}.account-tabs .tab-button.active{background:rgba(255,255,255,.1);border-left-color:#fff}.tab-content{flex:1;background:#1d1a16;padding:2rem;border-radius:6px;width:90%;max-width:70rem;margin:0 auto}.tab-content form{max-width:100%!important;width:100%;margin-top:1.5rem;padding-top:0}.tab-content .add-app-form{max-width:100%;width:100%;margin-top:1.5rem;padding-top:0}.tab-content>*{margin-top:1.5rem;padding-top:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{color:gray;font-size:.9rem}.info-item span{color:#fff;font-size:1.1rem}.billing-info-container{padding:2rem}.billing-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.billing-details .info-item{background:rgba(255,255,255,.05);padding:1.5rem;border-radius:8px}.billing-details .billing-amount{font-size:1.5rem;color:#4caf50}.token-info{grid-column:1 / -1}.token-text{word-break:break-all;font-family:monospace;font-size:.85rem;background:rgba(0,0,0,.2);padding:.5rem;border-radius:4px}.delete-button{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;background-color:#808080cc;color:#fff;border:none;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:1;transition:background-color .2s ease}.delete-button:hover{background-color:#f00c}.delete-button.disabled,.delete-button:disabled{opacity:.4;cursor:not-allowed;background-color:#80808066}.delete-button.disabled:hover,.delete-button:disabled:hover{background-color:#80808066}.add-vm-button.disabled{opacity:.5;cursor:not-allowed}.payment-success-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 108px);background-color:#1d1a16;margin-top:108px}.payment-success-content{text-align:center;background:#2c2823;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000004d;max-width:500px;width:90%}.success-icon{font-size:48px;color:#28a745;margin-bottom:1rem;background:rgba(40,167,69,.1);width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.payment-success-content h2{color:#fff;margin-bottom:1rem}.payment-success-content p{color:#ccc;margin-bottom:.5rem}.redirect-text{color:#888;font-size:.9rem;margin-top:1.5rem}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#000;color:#d9e2f1;margin-top:108px;position:relative;z-index:1}.loading-content{text-align:center;padding:2rem}.loading-content .loading-logo{width:4.5rem;height:4.5rem;object-fit:contain;margin-bottom:1rem}.loading-spinner{border:4px solid #333;border-top:4px solid #ffffff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:1rem auto}.blinking-dots{animation:blink 1.4s infinite both}.code-editor-form{max-width:90%!important}.monaco-editor-container{margin-top:1rem;border:1px solid #333;border-radius:4px;overflow:hidden}.monaco-editor-container:focus-within{border-color:gray;box-shadow:0 0 0 2px #ffffff1a}.monaco-editor .margin,.monaco-editor .monaco-scrollable-element{background-color:#1d1a16!important}.form-control textarea{width:50%;padding:.5rem;border:1px solid #ffffff;border-radius:4px;background-color:transparent;color:#fff;font-size:.9rem;position:relative;z-index:2;min-height:80px;resize:vertical}.form-control textarea:focus{outline:none;border-color:gray;background-color:#ffffff0d}.form-control textarea::placeholder{color:#ffffff80}.github-add-container .form-container .form-control input,.github-add-container .form-container .form-control textarea,.github-add-container .form-container .form-control label{width:80%}.github-add-container .form-container .form-control .field-hint{width:80%!important;text-align:left}@media (max-width: 768px){.form-control input,.form-control textarea,.add-app-form button{width:80%}}@media (max-width: 480px){.form-control input,.form-control textarea,.add-app-form button{width:100%}}.dashboard-tab-content.job-queue-content .job-queue-container{width:100%;max-width:none;margin:0;position:relative;z-index:1;background:transparent;border-radius:0;padding:0;box-shadow:none}.job-queue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.job-queue-header-right{display:flex;align-items:center;gap:1rem;min-height:24px}.job-queue-paused-indicator{display:flex;align-items:center;color:#ffc107;font-size:.85rem;font-weight:500}.job-queue-paused-indicator span{cursor:help;padding:.25rem .5rem;border:1px solid rgba(255,193,7,.3);border-radius:4px;background:rgba(255,193,7,.1)}.dashboard-tab-content.job-queue-content .job-queue-header{display:none}.dashboard-tab-content.job-queue-content .job-queue-list{margin-top:-2rem;padding-top:0}.dashboard-tab-content.job-queue-content .job-queue-loading,.dashboard-tab-content.job-queue-content .job-queue-empty,.dashboard-tab-content.job-queue-content .job-queue-error{margin-top:-1rem}.dashboard-tab-content.job-queue-content .job-queue-container{padding-top:0;margin-top:0}.job-queue-title{color:#fff;margin:0;font-size:1.5rem;font-weight:600}.job-queue-reloading{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.85rem;height:24px}.job-queue-reloading .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.job-queue-reloading span{white-space:nowrap}.job-queue-fetching-icon{display:flex;align-items:center;justify-content:center}.job-queue-fetching-icon .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}.job-queue-last-updated{color:#888;font-size:.85rem;font-style:italic}.job-queue-loading,.job-queue-empty,.job-queue-error{color:#ccc;text-align:center;padding:2rem;background:rgba(255,255,255,.05);border-radius:4px;margin:1rem 0}.job-queue-error{color:#f44336;background:rgba(244,67,54,.1);border:1px solid rgba(244,67,54,.3)}.job-queue-list{display:grid;gap:1rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.job-queue-list::-webkit-scrollbar{width:8px}.job-queue-list::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:4px}.job-queue-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:4px}.job-queue-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}.job-queue-item{background:rgba(255,255,255,.05);border-radius:8px;padding:.75rem;border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.job-queue-item:hover{background:rgba(255,255,255,.08);border-color:#fff3}.job-queue-item-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:.5rem;gap:1rem}.job-id{color:#ccc;font-family:monospace;font-size:.85rem;font-weight:600;flex-shrink:0}.job-operation{color:#fff;font-weight:600;font-size:1rem;text-transform:capitalize;flex:1;min-width:0}.job-timestamp{color:#888;font-size:.8rem;font-style:italic;flex-shrink:0;white-space:nowrap}.job-status{color:#fff;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.job-message{color:#ccc;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.job-message-container{display:flex;flex-direction:column;gap:.5rem}.job-message-item{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding:.5rem;background:rgba(255,255,255,.03);border-radius:4px;border-left:3px solid rgba(255,255,255,.1)}.job-message-item.current{border-left-color:#4caf50;background:rgba(76,175,80,.1)}.job-message-item.history{border-left-color:#888;background:rgba(255,255,255,.02);opacity:.8}.job-message-item:last-child{margin-bottom:0}.job-message-timestamp{color:#888;font-size:.75rem;font-style:italic;font-family:monospace}.job-message-explanation{color:#fff;font-size:.9rem;line-height:1.4}.job-history-toggle{background:transparent;border:none;color:#888;font-size:.8rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease;align-self:flex-start;display:flex;align-items:center;gap:.25rem}.job-history-toggle:hover{color:#fff;background:rgba(255,255,255,.05)}.job-message-history{display:flex;flex-direction:column;gap:.25rem;padding-left:1rem;border-left:2px solid rgba(255,255,255,.1);margin-left:.5rem}@media (max-width: 768px){.dashboard-tab-content.job-queue-content .job-queue-container{width:100%;padding:0;margin-top:0}.job-queue-container{width:95%;padding:1rem;margin-top:108px}.job-queue-header{flex-direction:column;align-items:flex-start;gap:.5rem}.job-queue-header-right{align-self:flex-end;gap:.5rem}.job-queue-item-header{flex-wrap:wrap;gap:.5rem}.job-operation{font-size:.9rem;order:1;flex-basis:100%}.job-id{order:2}.job-timestamp{order:3;font-size:.75rem}.job-status{order:4;margin-left:auto}.job-message{font-size:.85rem}.job-queue-title{font-size:1.25rem}}.menu-bar-right .tab.active{background-color:#fff3}.help-button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.35rem .7rem;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;color:#fff;display:flex;align-items:center;gap:.4rem;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.help-button:hover{background:rgba(255,255,255,.2);border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.help-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.help-button .help-icon{font-size:.85rem;flex-shrink:0}.help-button span{font-size:.8rem}.vm-cost{font-weight:600;color:#4caf50;font-size:.95rem}.vm-table th:nth-child(7),.vm-table td:nth-child(7){text-align:center;min-width:80px}.github-add-container{width:100%;max-width:none;margin:2rem 0;margin-top:20px;padding:0 1rem}.view-toggle{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.toggle-btn{padding:1rem 2rem;background:transparent;border:2px solid #ffffff;color:#fff;cursor:pointer;border-radius:8px;transition:all .3s ease;font-size:1rem;font-weight:500}.toggle-btn:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}.toggle-btn.active{background:#ffffff;color:#000;box-shadow:0 4px 8px #0003}.error-message{backgroundColor:"#ffebee";color:"#d32f2f";padding:10px 15px;borderRadius:4px;marginBottom:20px;border:1px solid #ef9a9a;width:50%;margin:0 auto 20px;text-align:center}.success-message{backgroundColor:"#1a332b";color:"#4CAF50";padding:20px 25px;borderRadius:8px;marginBottom:30px;border:1px solid #4CAF50;width:90%;margin:20px auto 30px;textAlign:center;fontSize:1.2rem;lineHeight:1.6;boxShadow:0 4px 8px rgba(0,0,0,.2);fontWeight:500}.apps-gallery-link{color:#ff9800;text-decoration:underline;cursor:pointer;font-weight:700}.apps-gallery-link:hover{color:#ffb74d}.browse-repos-container{width:100%;max-width:none;margin:0}.repo-controls{margin-bottom:2rem;background:#2c2823;padding:1.5rem;border-radius:12px;box-shadow:0 4px 12px #0000004d}.search-section{margin-bottom:1.5rem}.search-input{width:100%;max-width:500px;padding:1rem;border:2px solid #ffffff;border-radius:8px;background-color:transparent;color:#fff;font-size:1rem;display:block;margin:0 auto}.search-input:focus{outline:none;border-color:gray;background-color:#ffffff0d;box-shadow:0 0 0 3px #ffffff1a}.search-input::placeholder{color:#fff9}.category-filters{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.category-btn{padding:.5rem 1rem;background:transparent;border:1px solid #ffffff;color:#fff;cursor:pointer;border-radius:20px;transition:all .3s ease;font-size:.9rem;white-space:nowrap}.category-btn:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}.category-btn.active{background:#ffffff;color:#000;font-weight:600}.loading-repos{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#fff}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.repos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.repo-card{background:#2c2823;border:1px solid #444;border-radius:12px;padding:1.5rem;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.repo-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0006;border-color:#666}.repo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.repo-name{color:#fff;margin:0;font-size:1.2rem;font-weight:600;flex:1;margin-right:1rem;line-height:1.3}.repo-stats{display:flex;gap:1rem;font-size:.9rem;color:#ccc;white-space:nowrap}.stars,.forks{display:flex;align-items:center;gap:.25rem}.repo-description{color:#ccc;margin:0 0 1rem;line-height:1.5;font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.repo-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.85rem;color:#999}.language{background:#444;padding:.25rem .5rem;border-radius:12px;font-weight:500}.repo-actions{display:flex;gap:.75rem}.btn-preview,.btn-github{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;text-decoration:none;text-align:center;flex:1}.btn-preview{background:#ff9800;color:#fff}.btn-preview:hover{background:#ffb74d;transform:translateY(-1px)}.btn-github{background:transparent;color:#fff;border:1px solid #ffffff}.btn-github:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin:2rem 0;padding:1rem;background:#2c2823;border-radius:8px}.page-btn{padding:.5rem 1rem;background:transparent;border:1px solid #ffffff;color:#fff;cursor:pointer;border-radius:6px;transition:all .3s ease}.page-btn:hover:not(:disabled){background:rgba(255,255,255,.1)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:#fff;font-weight:500}@media (max-width: 1200px){.repos-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.github-add-container{width:100%;margin-top:120px;padding:0 .5rem}.add-app-tabs{width:100%;margin:2rem 0;margin-top:120px;padding:0 .5rem}.view-toggle{flex-direction:column;align-items:center;gap:.75rem}.toggle-btn{width:100%;max-width:300px;padding:.9rem 1.75rem}.repos-grid{grid-template-columns:1fr}.category-filters{flex-direction:column;align-items:center;gap:.5rem}.category-btn{width:100%;max-width:200px;padding:.7rem 1rem}.repo-actions{flex-direction:column;gap:.5rem}.pagination{flex-direction:column;gap:.5rem;padding:1rem}.github-add-container .form-container .form-control input,.github-add-container .form-container .form-control textarea{width:90%!important;padding:.75rem}.github-add-container .form-container .form-control label{width:90%!important}.github-add-container .form-container .form-control .field-hint{width:90%!important;font-size:.85rem}}@media (max-width: 480px){.repo-card{padding:1rem}.repo-header{flex-direction:column;align-items:flex-start;gap:.5rem}.repo-stats{gap:.5rem}.github-add-container,.add-app-tabs{width:100%;margin:140px 0 0;padding:0 .25rem}.view-toggle{margin-bottom:1rem}.toggle-btn{padding:.75rem 1.5rem;font-size:.9rem}.github-add-container .form-container .form-control input,.github-add-container .form-container .form-control textarea{width:100%!important;padding:.75rem;font-size:1rem}.github-add-container .form-container .form-control label{width:100%!important;font-size:.9rem}.github-add-container .form-container .form-control .field-hint{width:100%!important;font-size:.8rem;line-height:1.3}.search-input{padding:.75rem;font-size:1rem}.category-btn{padding:.6rem 1rem;font-size:.85rem;max-width:150px}.pagination{padding:.75rem;margin:1rem 0}.page-btn{padding:.5rem .75rem;font-size:.85rem;min-width:40px}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}.repo-modal{background:#2c2823;border-radius:12px;width:90%;max-width:1200px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0009;animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #444;background:#1a1a1a;border-radius:12px 12px 0 0}.modal-header h2{color:#fff;margin:0;font-size:1.5rem;font-weight:600}.modal-close{background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:rgba(255,255,255,.1);transform:scale(1.1)}.modal-content{padding:2rem}.repo-info-grid{display:grid;grid-template-columns:.8fr 2.2fr;gap:2rem;margin-bottom:.5rem}.repo-info-grid.single-column{grid-template-columns:1fr}.repo-info h3,.readme-section h3{color:#fff;margin:0 0 1rem;font-size:1.2rem;font-weight:600;border-bottom:1px solid #444;padding-bottom:.5rem}.info-item{margin:.75rem 0;color:#ccc;line-height:1.5}.info-item strong{color:#fff;display:inline-block;min-width:100px}.dashboard-tabs{width:90%;max-width:70rem;margin:90px auto 0;display:flex;gap:0;background-color:#1d1a16;border-radius:1rem 1rem 0 0;overflow:hidden;box-shadow:0 4px 16px #0006,0 2px 8px #0003;position:relative}.dashboard-tabs:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(217,226,241,.1),transparent)}.dashboard-tab-header{flex:1;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:center}.dashboard-section-title{color:#fff;margin:0;font-size:1.5rem;font-weight:600;text-align:center}.dashboard-tab-header.job-queue-header-wrapper{justify-content:center;align-items:center;position:relative}.dashboard-tab-header.job-queue-header-wrapper .dashboard-section-title{text-align:center;white-space:nowrap;position:absolute;left:50%;transform:translate(-50%)}.dashboard-header-controls{display:flex;align-items:center;gap:1rem;min-height:24px;position:absolute;right:2rem;top:50%;transform:translateY(-50%)}.dashboard-tab-content{width:90%;max-width:70rem;margin:0 auto 2rem;background-color:#1d1a16;border-radius:0 0 1rem 1rem;box-shadow:0 4px 16px #0006,0 2px 8px #0003;position:relative;overflow:hidden;padding:2rem}.dashboard-tab-content.vm-content{overflow-x:auto}.dashboard-tabs.job-queue-section{margin-top:4rem}@media (max-width: 768px){.dashboard-tabs{width:95%;margin-top:120px;padding:0}.dashboard-tab-content{width:95%;padding:1rem}.dashboard-section-title{font-size:1.25rem}.dashboard-tab-header{padding:1rem 1.5rem}#main-header{padding:1rem .5rem;flex-wrap:nowrap}h1{font-size:1.4rem;letter-spacing:.1rem}banner{padding:.75rem 1rem;flex-wrap:nowrap;justify-content:flex-start!important;gap:.5rem}banner h1{font-size:1.3rem;margin-right:.5rem;flex-shrink:1;min-width:0;flex:1}banner nav{margin-left:0!important;flex-shrink:0}.vm-header-container{gap:.25rem;flex-shrink:0}.add-vm-button{font-size:.9rem!important;padding:.4rem .8rem!important;margin-left:.5rem;white-space:nowrap;flex-shrink:0}.dashboard-tab-content.vm-content{padding:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.vm-table{min-width:900px}}@media (max-width: 450px){banner{padding:.25rem .125rem!important;justify-content:space-between!important;max-width:calc(100vw - 30px)!important;margin:0 auto;box-sizing:border-box;width:100%!important}banner h1{font-size:.9rem!important;flex:1!important;width:auto!important;max-width:50%!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0!important;padding-right:.25rem}.add-vm-button{font-size:.65rem!important;padding:.2rem .3rem!important;margin-left:0!important;white-space:nowrap;flex-shrink:0!important;max-width:45%!important}banner nav{flex-shrink:0!important;max-width:50%!important}}@media (max-width: 400px){banner{padding:.1rem!important;gap:.1rem!important;max-width:95vw!important}banner h1{font-size:.8rem!important;max-width:40%!important}.add-vm-button{font-size:.6rem!important;padding:.15rem .25rem!important;margin:0!important;max-width:55%!important}}@media (max-width: 480px){.dashboard-tabs{width:95%;margin-top:140px}.dashboard-tab-content{width:95%;padding:.75rem}.dashboard-section-title{font-size:1rem}.dashboard-tab-header{padding:.75rem 1rem}#main-header{padding:.75rem .25rem}h1{font-size:1.2rem;letter-spacing:.05rem}banner{padding:.5rem;gap:.25rem;justify-content:flex-start!important;flex-direction:row}banner h1{font-size:1.1rem;letter-spacing:.02rem;margin-right:.25rem;flex:1;min-width:0}banner nav{margin-left:0!important;flex-shrink:0}.add-vm-button{font-size:.8rem!important;padding:.3rem .6rem!important;margin-left:.25rem;flex-shrink:0}.vm-header-container{gap:.125rem;flex-shrink:0}.dashboard-tab-content.vm-content{padding:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.vm-table{min-width:950px}.vm-table th,.vm-table td{padding:.75rem .5rem;font-size:.9rem}}.readme-section{background:#1a1a1a;padding:1.5rem;border-radius:8px;border:1px solid #333}.loading-readme{display:flex;align-items:center;gap:.5rem;color:#ccc;font-style:italic;padding:1rem;justify-content:center}.spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}.readme-content{background:#0d1117;color:#e6edf3;padding:1rem;border-radius:6px;font-size:.9rem;line-height:1.5;max-height:400px;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;border:1px solid #30363d;margin-bottom:0rem}.readme-content h1,.readme-content h2,.readme-content h3,.readme-content h4,.readme-content h5,.readme-content h6{color:#f0f6fc;margin:1rem 0 .5rem;font-weight:600;border-bottom:1px solid #21262d;padding-bottom:.3rem}.readme-content h1{font-size:1.5em}.readme-content h2{font-size:1.3em}.readme-content h3{font-size:1.1em}.readme-content h4,.readme-content h5,.readme-content h6{font-size:1em}.readme-content p{margin:.8rem 0;color:#e6edf3}.readme-content a{color:#58a6ff;text-decoration:none}.readme-content a:hover{text-decoration:underline}.readme-content ul,.readme-content ol{margin:.8rem 0;padding-left:1.5rem}.readme-content li{margin:.2rem 0}.readme-content code{background:#161b22;color:#f85149;padding:.2em .4em;border-radius:3px;font-size:.85em;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.readme-content pre{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:1rem;overflow-x:auto;margin:1rem 0}.readme-content pre code{background:none;color:#e6edf3;padding:0;font-size:.85em}.readme-content blockquote{border-left:3px solid #30363d;padding-left:1rem;margin:1rem 0;color:#8b949e}.readme-content table{border-collapse:collapse;width:100%;margin:1rem 0}.readme-content th,.readme-content td{border:1px solid #30363d;padding:.5rem;text-align:left}.readme-content th{background:#161b22;font-weight:600}.readme-content img{max-width:100%;height:auto;border-radius:3px;margin:.5rem 0}.readme-content hr{border:none;border-top:1px solid #30363d;margin:1.5rem 0}.modal-form{background:#1a1a1a;padding:1.5rem;border-radius:8px;border:1px solid #333}.modal-form h3{color:#fff;margin:1.5rem 0;font-size:1.2rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.modal-form .form-control{margin-bottom:1rem;align-items:flex-start}.modal-form .form-control label{color:#fff;font-weight:600;margin-bottom:.5rem;font-size:.95rem;width:100%;text-align:left}.modal-form .form-control input{width:100%;padding:.75rem;border:1px solid #444;border-radius:6px;background-color:#0d1117;color:#fff;font-size:.95rem;transition:all .3s ease}.modal-form .form-control input:focus{outline:none;border-color:#58a6ff;background-color:#161b22;box-shadow:0 0 0 3px #58a6ff1a}.readonly-input{background-color:#21262d!important;color:#8b949e!important;cursor:not-allowed}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #333}.btn-cancel{padding:.75rem 1.5rem;background:transparent;border:1px solid #666;color:#fff;cursor:pointer;border-radius:6px;font-size:.95rem;font-weight:500;transition:all .3s ease}.btn-cancel:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:#888}.btn-submit{padding:.75rem 1.5rem;background:#238636;border:1px solid #238636;color:#fff;cursor:pointer;border-radius:6px;font-size:.95rem;font-weight:600;transition:all .3s ease}.btn-submit:hover:not(:disabled){background:#2ea043;border-color:#2ea043;transform:translateY(-1px)}.btn-submit:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.repo-modal{width:95%;margin:1rem;max-height:95vh}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.2rem}.modal-content{padding:1.5rem}.repo-info-grid{grid-template-columns:1fr;gap:1.5rem}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}@media (max-width: 480px){.modal-header,.modal-content{padding:1rem}.repo-info-grid{gap:1rem}}.github-add-container .form-container,.user-repos-container{width:100%;max-width:none;margin:0}.github-auth-message{background:#2c2823;border:2px solid #ff9800;border-radius:12px;padding:3rem 2rem;text-align:center;color:#fff;margin:2rem auto;max-width:600px;box-shadow:0 4px 12px #0000004d}.github-auth-message .auth-icon{font-size:3rem;margin-bottom:1rem;display:block}.github-auth-message h3{color:#ff9800;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.github-auth-message p{margin-bottom:.75rem;line-height:1.6;color:#fff;opacity:.9}.github-auth-message strong{color:#ff9800;font-weight:600}.private-badge{background:#ff9800;color:#000;font-size:.75rem;padding:.25rem .5rem;border-radius:12px;margin-left:.5rem;font-weight:600;display:inline-block;vertical-align:middle}.repos-info{text-align:center;margin-top:1rem;color:#ffffffb3;font-size:.9rem}.repos-info p{margin:0;opacity:.8}.repo-name{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.github-token-section{background:#2c2823;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000004d}.token-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.token-connected,.token-disconnected{display:flex;align-items:center;gap:1rem;width:100%;justify-content:space-between}.token-indicator{color:#fff;font-weight:600;font-size:1rem}.btn-add-token,.btn-remove-token{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.token-input-section{background:#1a1a1a;border-radius:8px;padding:1.5rem;border:1px solid #444;margin-top:1rem}.token-input-header{margin-bottom:1.5rem}.token-input-header h4{color:#fff;margin:0 0 .5rem;font-size:1.1rem}.token-input-header p{color:#ccc;margin:0 0 1rem;line-height:1.5}.token-input-header code{background:#333;padding:.2rem .4rem;border-radius:3px;color:#ff9800;font-family:monospace}.create-token-link{color:#58a6ff;text-decoration:none;font-weight:600;display:inline-block;margin-bottom:1rem}.create-token-link:hover{color:#79c0ff;text-decoration:underline}.token-input-form{display:flex;flex-direction:column;gap:1rem}.token-input{width:100%;padding:.75rem;border:1px solid #444;border-radius:6px;background-color:#0d1117;color:#fff;font-size:.95rem;font-family:monospace;transition:all .3s ease}.token-input:focus{outline:none;border-color:#58a6ff;background-color:#161b22;box-shadow:0 0 0 3px #58a6ff1a}.token-input::placeholder{color:#6e7681;font-family:monospace}.token-input-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-save-token,.btn-cancel-token{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-save-token{background:#238636;color:#fff}.btn-save-token:hover:not(:disabled){background:#2ea043;transform:translateY(-1px)}.btn-save-token:disabled{background:#21262d;color:#6e7681;cursor:not-allowed;transform:none}.btn-cancel-token{background:transparent;color:#fff;border:1px solid #666}.btn-cancel-token:hover{background:rgba(255,255,255,.1);border-color:#888}.btn-retry-token,.btn-load-repos{background:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease;margin:0 auto}.btn-retry-token:hover,.btn-load-repos:hover{background:#218838;transform:translateY(-1px)}.no-repos-message,.github-setup-message{background:#2c2823;border:2px solid #ff9800;border-radius:12px;padding:2rem;text-align:center;color:#fff;margin:2rem auto;max-width:600px}.setup-icon{font-size:3rem;margin-bottom:1rem;display:block}.github-setup-message h3{color:#ff9800;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.github-setup-message p{margin-bottom:1rem;line-height:1.6;opacity:.9}.github-setup-message ol{text-align:left;max-width:400px;margin:0 auto;padding-left:1.5rem}.github-setup-message li{margin-bottom:.5rem;line-height:1.5}.github-setup-message code{background:#333;padding:.2rem .4rem;border-radius:3px;color:#ff9800;font-family:monospace}@media (max-width: 768px){.token-status{flex-direction:column;align-items:flex-start;gap:1rem}.token-connected,.token-disconnected{flex-direction:column;align-items:flex-start;gap:.5rem}.token-input-actions{flex-direction:column;width:100%}.btn-save-token,.btn-cancel-token{width:100%}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.loading-content{background:#1a1a1a;border-radius:16px;padding:3rem 2rem;text-align:center;color:#fff;max-width:500px;width:90%;box-shadow:0 10px 30px #00000080;border:1px solid #333}.loading-content .spinner{width:60px;height:60px;border:4px solid #333;border-top:4px solid #ff9800;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.loading-content h3{color:#ff9800;margin:0 0 1rem;font-size:1.4rem;font-weight:600}.loading-content p{color:#ccc;margin:0 0 1.5rem;line-height:1.5;opacity:.9}.loading-bar{width:100%;height:4px;background:#333;border-radius:2px;overflow:hidden;margin-top:1rem}.loading-progress{width:100%;height:100%;background:linear-gradient(90deg,#ff9800,#ffc107,#ff9800);animation:loading-slide 2s ease-in-out infinite}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.modal-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:10000;border-radius:12px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-loading-content{background:#1a1a1a;border-radius:12px;padding:2rem;text-align:center;color:#fff;border:1px solid #333;box-shadow:0 8px 25px #0000004d}.modal-loading-content .spinner{width:40px;height:40px;border:3px solid #333;border-top:3px solid #ff9800;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.modal-loading-content h4{color:#ff9800;margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.modal-loading-content p{color:#ccc;margin:0;font-size:.9rem;opacity:.9}.form-disabled,.modal-disabled{opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none}.toggle-btn:disabled{opacity:.5;cursor:not-allowed;background:#2a2a2a;color:#666;border-color:#444}.toggle-btn:disabled:hover{transform:none;background:#2a2a2a;color:#666}.api-error{background:#2d1b1b;border:1px solid #dc3545;color:#fff;padding:1.5rem;border-radius:8px;margin:1rem auto;max-width:800px;box-shadow:0 4px 12px #dc354533}.error-header{font-size:1.1rem;font-weight:600;color:#dc3545;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.error-details{color:#fff;margin-bottom:.5rem;line-height:1.4}.error-note{color:#aaa;font-size:.9rem;font-style:italic;margin-top:.5rem}.modal-close:disabled{opacity:.5;cursor:not-allowed;background:#2a2a2a;color:#666}.modal-close:disabled:hover{background:#2a2a2a;color:#666;transform:none}@media (max-width: 768px){.loading-content{padding:2rem 1.5rem;width:95%}.loading-content h3{font-size:1.2rem}.loading-content .spinner{width:50px;height:50px}.modal-loading-content{padding:1.5rem}.modal-loading-content .spinner{width:35px;height:35px}}@media (max-width: 480px){.loading-content{padding:1.5rem 1rem}.loading-content h3{font-size:1.1rem}.error-header{font-size:1rem}.api-error{padding:1rem;margin:.5rem}}.setup-options{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;text-align:left}.setup-option{background:rgba(255,152,0,.1);border:1px solid rgba(255,152,0,.3);border-radius:8px;padding:1.5rem}.setup-option h4{color:#ff9800;margin:0 0 1rem;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.setup-option p{margin:0 0 1rem;opacity:.9;font-size:.95rem}.setup-option ol{margin:0;padding-left:1.5rem}.setup-option li{margin-bottom:.5rem;line-height:1.4}.setup-option a{color:#ff9800;text-decoration:none;font-weight:500}.setup-option a:hover{color:#ffc107;text-decoration:underline}@media (max-width: 768px){.setup-options{grid-template-columns:1fr;gap:1.5rem}.setup-option{padding:1rem}}.oauth-error{display:flex;align-items:flex-start;gap:.5rem;background:rgba(220,53,69,.1);border:1px solid #dc3545;border-radius:6px;padding:1rem;margin-top:1rem;color:#dc3545}.error-icon{font-size:1.2rem;flex-shrink:0}.error-content{flex:1}.error-content p{margin:0 0 1rem;line-height:1.4}.btn-retry{background:#dc3545;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;margin-left:auto}.btn-retry:hover:not(:disabled){background:#c82333}.device-flow-modal{background:#2c2823;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #000c;position:relative}.device-flow-content{padding:0}.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding:1rem 0;border-bottom:1px solid #444}.step{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#444;color:#fff;font-weight:600;font-size:1.1rem}.step.active{background:#ff9800;color:#000}.step-line{width:60px;height:2px;background:#444;margin:0 1rem}.step-content{padding:0 2rem}.step-content h3{color:#ff9800;margin:1.5rem 0 .5rem;font-size:1.2rem}.step-content h3:first-child{margin-top:0}.step-content p{margin-bottom:1rem;line-height:1.5;opacity:.9}.btn-open-github{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#28a745;color:#fff;text-decoration:none;border-radius:6px;font-weight:600;transition:all .3s ease}.btn-open-github:hover{background:#218838;transform:translateY(-1px)}.device-code-container{display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;background:#1a1a1a;border-radius:8px;border:2px solid #ff9800}.device-code{font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;color:#ff9800;letter-spacing:.1em;flex:1;text-align:center}.btn-copy-code{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-copy-code:hover{background:#5a6268}.polling-status{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:rgba(255,152,0,.1);border-radius:8px;border:1px solid #ff9800;margin:1rem 0}.polling-status .spinner{width:40px;height:40px}.polling-status p{margin:0;text-align:center}.polling-note{font-size:.9rem;opacity:.7}.device-flow-section{background:#1a1a1a;border-radius:8px;padding:1.5rem;border:1px solid #444;margin-top:1rem}.device-flow-header{margin-bottom:1.5rem}.device-flow-header h4{color:#ff9800;margin-bottom:.5rem;font-size:1.1rem}.device-flow-header p{margin-bottom:1rem;line-height:1.5;opacity:.9}.device-flow-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.btn-cancel-device-flow{background:transparent;color:#fff;border:1px solid #666;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-cancel-device-flow:hover{background:rgba(255,255,255,.1);border-color:#888}.token-connected,.token-disconnected{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem}.token-indicator{color:#fff;font-weight:600;font-size:1rem;flex:1}.btn-add-token,.btn-remove-token{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease;flex-shrink:0}.btn-add-token{background:#28a745;color:#fff}.btn-add-token:hover{background:#218838;transform:translateY(-1px)}.btn-add-token:disabled{background:#6c757d;cursor:not-allowed;transform:none}.btn-remove-token{background:#dc3545;color:#fff}.btn-remove-token:hover{background:#c82333;transform:translateY(-1px)}@media (max-width: 768px){.device-flow-modal{width:95%;max-width:none}.step-indicator{flex-direction:column}.step{margin-bottom:.5rem}.step-line{width:2px;height:1rem;margin:0 auto}.step-content,.device-code-container{padding:1rem}.device-code{font-size:1.1rem}.device-flow-actions{flex-direction:column;gap:.5rem}.btn-cancel-device-flow,.btn-open-github{width:100%}}.appProgram-item.deleting{position:relative;pointer-events:none}.deleting-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:1rem}.deleting-message{display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;font-weight:500;text-align:center;padding:1rem}.loading-spinner{width:24px;height:24px;border:2px solid #333;border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vm-header-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.vm-billing-info-container{position:relative;display:inline-block;margin-right:-25px}.vm-billing-info-icon{background:none;border:none;color:#fff9;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin:0}.vm-billing-info-icon:hover{color:#ffffffe6;background:rgba(255,255,255,.1)}.vm-billing-tooltip{position:absolute;top:100%;right:0;margin-top:8px;background:#333;color:#fff;padding:12px 24px;border-radius:6px;font-size:.8rem;z-index:1000;box-shadow:0 2px 10px #0000004d;border:1px solid rgba(255,255,255,.1);width:300px;white-space:normal;line-height:1.3;animation:vmTooltipFadeIn .2s ease-out}.vm-billing-tooltip:before{content:"";position:absolute;top:-6px;right:12px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #333}@keyframes vmTooltipFadeIn{0%{opacity:0}to{opacity:1}}.help-modal{background-color:#1a1a1a!important;color:#fff;border:1px solid rgba(255,255,255,.1)}.help-modal .modal-header{background-color:transparent;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem;margin-bottom:1rem}.help-modal .modal-header h2{color:#fff;margin:0;font-size:1.5rem;font-weight:600}.help-modal .modal-content{max-width:600px;width:90%;color:#fff}.help-modal .modal-content p{color:#ccc;line-height:1.5}.help-options{display:grid;gap:1.5rem;margin:1.5rem 0}.help-option{display:flex;gap:1rem;padding:1.5rem;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.help-option:hover{background:rgba(255,255,255,.08);border-color:#fff3;transform:translateY(-2px)}.help-option-icon{font-size:2rem;min-width:60px;display:flex;align-items:center;justify-content:center}.help-option-content{flex:1}.help-option-content h3{margin:0 0 .5rem;color:#fff;font-size:1.1rem;font-weight:600}.help-option-content p{margin:0 0 1rem;color:#ccc;line-height:1.5;font-size:.9rem}.help-option-button{background:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.help-option-button:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.help-additional-info{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.help-additional-info p{color:#ccc;font-size:.9rem;margin:0}.help-additional-info strong{color:#fff}@media (max-width: 1024px){.menu-bar-right{gap:1rem}.nav-buttons-container{gap:.2rem;padding:.25rem}.nav-button{padding:.55rem 1rem;font-size:.875rem}}@media (max-width: 768px){.menu-bar{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;min-height:auto}.menu-bar-left{width:100%;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.menu-bar-right{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:.75rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.nav-buttons-container{flex-direction:row;width:100%;gap:.25rem;padding:.4rem;margin-bottom:0;flex-wrap:wrap}.nav-button{flex:1;min-width:80px;justify-content:center;text-align:center;padding:.6rem .5rem;font-size:.85rem}.total-cost{font-size:.9rem;padding:.5rem 1rem}.credit-balance{font-size:.8rem;padding:.3rem .7rem}.credit-tooltip{width:300px;font-size:.75rem;padding:10px 20px}.help-modal .modal-content{width:95%;margin:1rem}.help-option{flex-direction:column;text-align:center;gap:1rem}.help-option-icon{min-width:auto}.help-button{padding:.3rem .6rem;font-size:.75rem;border-radius:5px}.help-button span{font-size:.75rem}.help-button .help-icon{font-size:.8rem}}@media (max-width: 480px){.menu-bar{padding:.75rem}.menu-bar-left{gap:.25rem}.menu-bar-right{gap:.75rem}.nav-buttons-container{gap:.3rem;padding:.4rem}.nav-button{padding:.7rem .9rem;font-size:.85rem}.menu-bar-right .tab{font-size:.9rem}.total-cost{font-size:.85rem;padding:.4rem .8rem}.credit-balance{font-size:.75rem;padding:.25rem .6rem}.credit-tooltip{width:250px;font-size:.7rem;padding:8px 16px}.help-modal .modal-content{width:100%;margin:.5rem}.help-button{padding:.25rem .5rem;font-size:.7rem;border-radius:5px;gap:.3rem}.help-button span{font-size:.7rem}.help-button .help-icon{font-size:.75rem}}.ssh-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.ssh-modal{background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 100%);border-radius:12px;width:90%;max-width:900px;height:70vh;max-height:600px;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;overflow:hidden;border:1px solid #333}.ssh-modal-header{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#2d2d2d 0%,#3a3a3a 100%);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333;z-index:1000}.ssh-modal-header h3{color:#fff;margin:0;font-size:1.2rem;font-weight:600}.ssh-status{display:flex;align-items:center;gap:.5rem}.status-indicator{width:10px;height:10px;border-radius:50%;animation:pulse 2s infinite}.status-indicator.ready{background-color:#4caf50}.status-indicator.disconnected{background-color:#f44336;animation:none}.status-text{color:#d9e2f1;font-size:.9rem}.ssh-close-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;margin-right:.5rem;border-radius:4px;transition:background-color .2s}.ssh-close-button:hover{background-color:#ffffff1a}.ssh-modal-body{flex:1;display:flex;flex-direction:column;overflow:hidden;padding-top:70px}.ssh-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#d9e2f1}.ssh-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#f44336;text-align:center;padding:2rem}.ssh-error button{margin-top:1rem;padding:.5rem 1rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer}.ssh-terminal-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.ssh-info{background-color:#1e1e1e;padding:1rem 1.5rem;border-bottom:1px solid #333;font-size:.9rem}.ssh-info p{margin:.25rem 0;color:#d9e2f1}.ssh-terminal{flex:1;background-color:#0d1117;color:#c9d1d9;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;padding:1rem;padding-right:0;overflow-y:auto;display:flex;flex-direction:column}.terminal-output{flex:1;margin:0;white-space:pre-wrap;color:#c9d1d9;overflow-wrap:break-word}.terminal-input-form{display:flex;align-items:center;margin-top:auto;padding-top:.5rem}.terminal-prompt{color:#58a6ff;margin-right:.5rem;white-space:nowrap}.terminal-input{flex:1;background:transparent;border:none;color:#c9d1d9;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;outline:none;padding:0}.ssh-button{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;border:none;padding:.5rem;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #3b82f64d;width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center}.ssh-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f666}.ssh-button:disabled{background:#666;cursor:not-allowed;box-shadow:none;opacity:.6}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (max-width: 768px){.ssh-modal{width:95%;height:80vh;max-height:500px;margin:1rem}.ssh-modal-header{padding:.75rem 1rem;flex-direction:column;gap:.5rem;align-items:flex-start}.ssh-modal-body{padding-top:90px}.ssh-modal-header h3{font-size:1rem}.ssh-close-button{position:absolute;top:.5rem;right:1.5rem}.terminal-input-form{flex-direction:column;align-items:stretch;gap:.5rem}.terminal-prompt{margin-right:0}}.xterm{height:100%!important;width:100%!important}.xterm .xterm-viewport{height:calc(100% - 2rem)!important;overflow-y:auto!important;padding-bottom:2rem!important}.xterm .xterm-screen{height:100%!important}.deployed-apps-scrollbar::-webkit-scrollbar{width:4px}.deployed-apps-scrollbar::-webkit-scrollbar-track{background:transparent}.deployed-apps-scrollbar::-webkit-scrollbar-thumb{background:#58a6ff;border-radius:2px}.deployed-apps-scrollbar::-webkit-scrollbar-thumb:hover{background:#79c0ff}.xterm .xterm-viewport::-webkit-scrollbar{width:12px}.xterm .xterm-viewport::-webkit-scrollbar-track{background:#0d1117}.xterm .xterm-viewport::-webkit-scrollbar-thumb{background:#30363d;border-radius:6px;border:2px solid #0d1117}.xterm .xterm-viewport::-webkit-scrollbar-thumb:hover{background:#484f58}.ssh-terminal-header{min-width:0}.ssh-terminal-header .close-button{flex-shrink:0!important;min-width:auto!important}@media (max-width: 800px){.ssh-terminal-header .deployed-apps-info{display:none!important}}@media (max-width: 500px){.ssh-terminal-header h1{font-size:1rem!important}.ssh-terminal-header p{font-size:.8rem!important}.ssh-terminal-header button{font-size:.7rem!important;padding:.4rem .8rem!important}}
