:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--danger: #dc3545;--danger-rgb: 220, 53, 69}:root{--bg-color: #000000;--glass: rgba(0, 0, 0, .1);--primary: #2d5a4f;--primary-rgb: 45, 90, 79;--text: #ffffff;--text-translucent: rgba(255, 255, 255, .7);--bg-dark: #000000;--bg-dark-rgb: 0, 0, 0;--card-bg: rgba(0, 0, 0, .2);--card-bg-hover: rgba(0, 0, 0, .8);--card-header-bg: transparent;--glass-gradient: linear-gradient( 135deg, rgba(0, 0, 0, .01), rgba(0, 0, 0, .05) );--primary-gradient: linear-gradient( 135deg, rgba(127, 127, 127, .7) 0%, var(--primary) 50%, rgba(35, 70, 62, .9) 100% );--dropdown-bg: #222222;--dropdown-text: #ffffff;--border-color: rgba(255, 255, 255, .1);--border-active: var(--primary);--shadow-color: rgba(255, 255, 255, .15);--focus-ring-color: rgba(var(--primary-rgb), .5);--success-color: #27ae60;--warning-color: #f39c12;--error-color: #e74c3c;--info-color: #349 db;--glass-marker-gradient-1:rgba(255, 255, 255, .2);--glass-marker-gradient-2:rgba(0, 0, 0, .1);--glass-marker-failedlogin-ssh: rgba(255, 100, 100, .3);--glass-marker-failedlogin-mail: rgba(255, 255, 100, .3);--glass-marker-events-reverseproxy: rgba(80, 80, 255, .3);--toggle-dot-enabled: linear-gradient( 135deg,white 0%, rgba(var(--primary-rgb), .4) 70% );--toggle-bg-enabled: linear-gradient(122deg, var(--glass) -50%, rgba(0, 0, 0,1) 0%, rgba(var(--primary-rgb), 1) 100%);--toggle-bg-disabled: linear-gradient(270deg, var(--glass) 100%, var(--text-translucent) 50%);--toggle-dot-disabled: linear-gradient(70deg, rgb(69, 69, 69) 0%, rgb(33, 33, 33) 250%)}.light-mode{--bg-color: #f0f0f0;--glass: rgba(var(--primary-rgb), .2);--text: #000000;--text-translucent: rgba(0, 0, 0, .634);--bg-dark: #e0e0e0;--bg-dark-rgb: 224, 224, 224;--card-bg: rgba(255, 255, 255, .3);--card-bg-hover: rgba(255, 255, 255, .8);--card-header-bg: transparent;--glass-gradient: linear-gradient( 135deg, rgba(255, 255, 255, .2), rgba(var(--primary-rgb), .05) );--primary-gradient: linear-gradient( 135deg, rgba(var(--primary-rgb), .1), rgba(var(--primary-rgb), .15) );--dropdown-bg: #ffffff;--dropdown-text: #000000;--border-color: rgba(0, 0, 0, .1);--border-active: var(--primary);--shadow-color: rgba(0, 0, 0, .4);--focus-ring-color: rgba(var(--primary-rgb), .5);--glass-marker-gradient-1:rgba(93, 13, 13, 0);--glass-marker-gradient-2:rgba(0, 0, 0, 0);--glass-marker-failedlogin-ssh: rgba(255, 21, 0, .444);--glass-marker-failedlogin-mail: rgba(255, 255, 100, .5);--glass-marker-events-reverseproxy: rgba(86, 56, 219, .3);--toggle-bg-enabled: linear-gradient(135deg, var(--glass) 0%, var(--primary) 14%, rgb(211, 211, 211) 210%);--toggle-dot-enabled: linear-gradient( 135deg,white 0%, rgba(var(--primary-rgb), .4) 70% );--toggle-bg-disabled: linear-gradient(122deg, var(--glass) -50%, rgba(132, 132,132, .4) 0%, rgba(var(--primary-rgb), 1) 300%);--toggle-dot-disabled: linear-gradient(135, rgba(96, 96, 96, .7) 0%, rgba(0,0,0,1) 50%, rgba(var(--primary-rgb), 1) 30%), rgba(87, 87, 87, .7) 100%}body{display:flex;flex-direction:column;font-family:Inter,sans-serif;background:var(--bg-color);color:var(--text);min-height:100vh;position:relative;overflow-x:hidden;transition:background .3s,color .3s;line-height:1.5}*{scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg-color)}.container{z-index:1;margin-left:2.5rem;margin-right:2.5rem;margin-bottom:6rem;align-self:center}.interfaces-loading{margin-top:10px;padding:10px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text);font-size:14px}button:focus,button:focus-visible,button:focus-within{outline:none}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3rem;margin-bottom:3rem;line-height:1.1;z-index:20}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:focus{outline:none}:focus:not(:focus-visible){outline:none}:focus-visible{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}:root{--toastify-color-light: rgba(255, 255, 255, .9);--toastify-color-dark: rgba(33, 33, 33, .9);--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-text-color-light: #333;--toastify-text-color-dark: #fff}.Toastify__toast{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 4px 6px #0000001a;font-family:inherit;background:var(--card-bg);color:var(--text)}.Toastify__toast--dark{color:var(--toastify-text-color-dark)}.Toastify__toast--light{color:var(--toastify-text-color-light)}.Toastify__progress-bar{height:3px}.Toastify__close-button{opacity:.7;transition:opacity .2s}.Toastify__close-button:hover{opacity:1}.Toastify__toast{animation-duration:.3s}.Toastify__toast-icon{margin-right:12px}.Toastify__toast:hover{transform:translateY(-2px);transition:transform .2s ease}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast{margin:0;border-radius:0}}#root{margin:0;padding:0;text-align:left}.card-container{margin:1.5rem 1.5rem 4rem}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.read-the-docs{color:#888}html.no-blur *,body.no-blur *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}html.no-animations *,body.no-animations *{animation:none!important;transition:none!important;will-change:auto!important}#hexagon-container{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}.hexagon{position:absolute;background-color:var(--primary, rgba(45, 90, 79, .5));opacity:.3;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);animation-name:pulse-scale-only;animation-duration:10s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;will-change:transform;transition:background-color .5s ease,opacity .5s ease}body.light-mode #hexagon-container .hexagon{opacity:.4;background-color:var(--primary, rgba(45, 90, 79, .6))}body.dark-mode #hexagon-container .hexagon{opacity:.2;background-color:var(--primary, rgba(30, 60, 50, .4))}@keyframes pulse-scale-only{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}@media(prefers-reduced-motion:reduce){.hexagon{animation:none}}html.no-background-animation #hexagon-container,.no-background-animation #hexagon-container{display:none!important}html.no-animations .hexagon,body.no-animations .hexagon{animation:none!important}.chart-container{flex-grow:1;position:relative;margin-top:.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.5rem;display:flex;justify-content:center;align-items:center;min-height:150px}.chart-container canvas{max-width:100%;max-height:100%;display:block}@media(max-width:992px){.metric-details-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.metric-details-grid{grid-template-columns:1fr}.metric-detail{height:350px}}@media(max-width:768px){.metric-section .chart-container{height:150px}}@media(max-width:768px){.split-chart-container{flex-direction:column;height:auto;gap:10px}.chart-half{height:180px}}.color-labels{display:flex;gap:.75rem;flex-wrap:wrap;height:auto;min-height:24px;align-items:center;margin-bottom:.5rem}.color-labels.small{font-size:.8rem}.color-label{display:flex;align-items:center;gap:.25rem;font-size:.8rem}.color-box{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:4px}.metric-details-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border-color)}.metric-detail{position:relative;height:400px;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.5rem;display:flex;flex-direction:column}.metric-detail .metric-section{height:100%;display:flex;flex-direction:column}.metric-detail .chart-container{flex-grow:1;border:none;padding:0;background:none;margin-top:.25rem;min-height:0}.metric-detail .graph-label{font-size:.8rem;color:var(--text-muted);text-align:center;margin-bottom:.25rem;display:block;flex-shrink:0}.btn{border:none;border-radius:.25rem;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(5px);opacity:.6;-webkit-backdrop-filter:blur(5px);border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2);padding:.5rem 1rem;font-size:1rem;background:var(--glass);background-image:var(--glass-gradient);color:var(--text);outline:none;transition:all .2s ease;margin-right:1rem}.btn:hover{transform:translateY(-1px);box-shadow:4px 4px 8px var(--shadow-color);opacity:1}.btn:active{transform:translateY(1px);box-shadow:0 4px 8px var(--shadow-color)}.btn:disabled{opacity:.2}.btn:disabled:hover{transform:translateY(1);opacity:.2}.btn:focus{outline:none}.btn:focus:hover{outline:none}.btn .spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}.btn.icon{color:var(--text);display:flex;align-items:right;max-width:32px;max-height:32px;padding:.5rem;border-radius:4px;cursor:pointer;border:none;outline:none;transition:all .2s ease-in-out;position:relative;box-shadow:0 0 0 var(--shadow-color);margin-right:1rem}.btn.icon:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.icon:active{transform:translateY(1px)}.btn.icon.expanded{background-color:var(--card-bg-hover);box-shadow:0 4px 4px var(--shadow-color)}.btn.icon.expanded:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.icon.expanded:active{transform:translateY(1px);box-shadow:0 2px 4px var(--shadow-color)}.btn.icon.expanded svg{transform:rotate(180deg)}.base-card{display:flex;flex-direction:column;position:relative;margin-bottom:1rem;padding:1rem;border-radius:8px;overflow:visible;opacity:1;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease,background-color .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-translucent);z-index:1}.base-card:hover{color:var(--text);z-index:30;transform:translateY(-2px);box-shadow:0 6px 12px var(--shadow-color);background-color:var(--card-bg-hover);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color)}.card-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;margin:0;margin-bottom:1rem}.card-title{display:flex;align-items:center;gap:.5rem;color:var(--text-color);background-color:transparent;margin:0;padding:0;flex:1}.card-actions{display:flex;align-items:center;gap:.5rem;margin:0;padding:0;flex-shrink:0;flex-wrap:wrap}.card-actions.right{margin-left:auto}.card-content{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.card-footer{background:transparent!important;border:none;padding:0;margin:0}.card-footer .card-actions{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;padding:0}html.no-card-hover .base-card,.no-card-hover .base-card{background-color:var(--card-bg-hover)!important;color:var(--text)!important}html.no-card-hover .base-card:hover,.no-card-hover .base-card:hover{z-index:1!important;transform:none!important;box-shadow:none!important;background-color:var(--card-bg-hover)!important;color:var(--text)!important}html.no-animations .base-card:hover,body.no-animations .base-card:hover{transform:none!important;transition:none!important}.system-card{display:flex;flex-direction:column;position:relative;margin-bottom:1rem;padding:1rem;border-radius:8px;overflow:hidden;opacity:1;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease,background-color .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-translucent);z-index:1}.system-card:hover{color:var(--text);z-index:30;transform:translateY(-2px);box-shadow:0 6px 12px var(--shadow-color);background-color:var(--card-bg-hover);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color)}.system-card .card-header{display:flex;align-items:center;background-color:transparent!important;border:none!important;border-bottom:none!important;margin-bottom:0;padding:0;box-shadow:none!important}.system-card .card-header>.card-title{display:flex;align-items:center;gap:.5rem;color:var(--text-color);background-color:transparent;flex-grow:0;width:auto}.system-card .card-header>.card-actions{display:flex;gap:.5rem;border:none!important;border-top:none!important;border-bottom:none!important;background-color:transparent!important;padding:0;flex-shrink:0;margin:0 0 0 auto;width:auto}.system-card .card-content{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.system-card .detail-view{margin-top:1rem;opacity:1;transform:none;transition:opacity .3s ease,transform .3s ease;height:auto;max-height:600px;overflow:hidden}.system-card .metric-grid,.system-card .metric-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem}.system-card .cpu-card .chart-container,.system-card .ram-card .chart-container,.system-card .disk-card .chart-container{min-height:250px;flex-grow:1;display:flex;align-items:center;justify-content:center}.system-card .cpu-card .chart-container canvas,.system-card .ram-card .chart-container canvas,.system-card .disk-card .chart-container canvas{max-width:100%;max-height:100%}.system-card.loading{opacity:.7;pointer-events:none}.expandable-card .card-content-wrapper{transition:all .3s ease-in-out;overflow:hidden;max-height:2000px;opacity:1;visibility:visible}.expandable-card .card-content-wrapper.collapsed{max-height:0;opacity:0;visibility:hidden;padding:0;margin:0}.expandable-card .btn.icon{transition:transform .3s ease}.expandable-card .btn.icon.expanded{transform:rotate(180deg)}.expandable-card .card-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;margin:0;margin-bottom:1rem}.expandable-card .card-title{margin:0;padding:0;display:flex;align-items:center;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expandable-card .card-actions{padding:0;display:flex;align-items:center;margin:0 0 0 auto;flex-shrink:0;gap:.5rem}.expandable-card .btn.icon{margin:0;padding:.5rem}.attack-map-container{width:100%;height:100%;min-height:400px;background-color:#aad3df;border-radius:var(--card-border-radius);overflow:hidden;position:relative;z-index:1}.attack-map-container.dark-mode{background-color:#19363f}.attack-map-container.dark-mode:not(.popout-mode) .leaflet-tile-pane{filter:invert(100%) hue-rotate(180deg) brightness(95%) saturate(85%)}.attack-map-container.dark-mode:not(.popout-mode) .leaflet-control-zoom,.attack-map-container.dark-mode:not(.popout-mode) .leaflet-control-attribution{filter:invert(100%) hue-rotate(180deg)}.attack-map-container.dark-mode:not(.popout-mode) .leaflet-marker-pane,.attack-map-container.dark-mode:not(.popout-mode) .leaflet-overlay-pane{filter:none!important}.attack-map-container.dark-mode:not(.popout-mode) .leaflet-popup-pane{filter:none!important}.attack-map-container.dark-mode .leaflet-control-zoom a,.attack-map-container.dark-mode .leaflet-control-attribution a,.attack-map-container.dark-mode .leaflet-control-attribution{color:#ccc!important;text-shadow:none}.attack-map-container.dark-mode .leaflet-control-layers-toggle{background-color:#555!important}.attack-map-container.dark-mode .leaflet-control-zoom,.attack-map-container.dark-mode .leaflet-control-attribution,.attack-map-container.dark-mode .leaflet-control-layers{background:#1e1e1ecc!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 10px #00000080;color:#eee!important;border-radius:4px}.minimal-marker{pointer-events:auto!important}.glass-marker{pointer-events:auto!important;filter:none!important}.glass-marker-failedlogin-ssh{width:40px!important;height:40px!important;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--glass-marker-gradient-1),var(--glass-marker-failedlogin-ssh) 70%,var(--glass-marker-gradient-2) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:2px 4px 8px var(--shadow-color);position:relative;overflow:hidden}.glass-marker-events-reverseproxy{width:40px!important;height:40px!important;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--glass-marker-gradient-1),var(--glass-marker-events-reverseproxy) 30%,var(--glass-marker-gradient-2) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:2px 4px 8px var(--shadow-color);position:relative;overflow:hidden}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background-color:#28962899!important;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid rgba(255,255,255,.2);border-radius:50%}.marker-cluster div{background-color:#ffffffb3!important;color:#111!important;border-radius:50%}.attack-map-container.dark-mode .leaflet-popup-content-wrapper{min-width:300px;background-color:#1e1e1ef2!important;color:var(--text)!important;border:1px solid var(--border-color)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.attack-map-container.dark-mode .leaflet-popup-tip{background-color:#1e1e1ef2!important;border:1px solid var(--border-color)!important;filter:none!important}.attack-map-container.dark-mode .leaflet-popup-content,.attack-map-container.dark-mode .leaflet-popup-close-button{color:var(--text)!important;filter:none!important}.no-data-overlay,.info-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#000000b3;color:#fff;padding:15px 25px;border-radius:8px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:10;text-align:center;font-size:16px;box-shadow:0 4px 15px #0000004d;border:1px solid rgba(255,255,255,.1)}.no-data-overlay p,.info-overlay p{margin:0}.info-overlay{background-color:#3b82f6b3}.error-message{background-color:#dc26261a;color:#dc2626;padding:10px 20px;border-radius:6px;border-left:4px solid #dc2626;margin-bottom:20px;font-size:14px}.attack-map-container .leaflet-popup-content-wrapper{min-width:300px;background-color:#fffffff2!important;color:#000!important;border:1px solid #ccc!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.attack-map-container .leaflet-popup-tip{background-color:#fffffff2!important;border:1px solid #ccc!important}.attack-map-container .leaflet-popup-content,.attack-map-container .leaflet-popup-close-button{color:#000!important}.attack-map-container .leaflet-popup-close-button:hover{color:#666!important}.attack-map-container .popup-action-button{background:#f0f0f0f2;color:#000;border:1px solid #ccc;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:13px;transition:all .2s ease;white-space:nowrap;flex:1;position:relative;overflow:hidden}.attack-map-container .popup-action-button:hover{background:#dcdcdcf2;border-color:#999}.attack-map-container.dark-mode .popup-action-button{background:#282828f2;color:var(--text);border:1px solid var(--border-color)}.attack-map-container.dark-mode .popup-action-button:hover{background:#3c3c3cf2;border-color:var(--border-color-hover)}.attack-map-container .popup-action-button.success{background:#28a745f2;border-color:#28a74580;color:#fff}.attack-map-container .popup-action-button.success:after{content:"✓";position:absolute;right:8px;top:50%;transform:translateY(-50%);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.context-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000}.custom-marker-menu{position:absolute;z-index:1001;pointer-events:auto;max-width:180px}.custom-marker-menu.fixed-corner{position:absolute;bottom:20px;left:20px;max-width:none;width:auto;border-radius:8px;overflow:hidden;box-shadow:0 4px 15px #0006;background-color:var(--card-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);z-index:1500;pointer-events:auto}.menu-header{background-color:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 12px;border:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:2px}.marker-type{font-weight:700;font-size:.9rem;color:var(--text)}.ip-address{font-family:monospace;font-size:.85rem;color:var(--text)}.menu-content{display:flex;flex-direction:row;gap:6px;padding:8px}.menu-content .btn{padding:8px 12px;font-size:.9rem;border-radius:4px;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap;background-color:var(--button-bg);color:var(--button-text)}.menu-content .btn:hover{background-color:var(--button-hover-bg)}:root[data-theme=light] .custom-marker-menu.fixed-corner{box-shadow:0 4px 15px #00000026;background-color:#fff;border:1px solid rgba(0,0,0,.1)}:root[data-theme=light] .menu-header{background-color:#fff;border-bottom:1px solid rgba(0,0,0,.1)}:root[data-theme=light] .marker-type{color:#333}:root[data-theme=light] .ip-address{color:#666}:root[data-theme=light] .menu-content{background-color:#fff;border:1px solid rgba(0,0,0,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tables-container{display:flex;flex-direction:column;gap:20px}.table-section{width:100%}.table-section h3{margin-bottom:10px;color:var(--text-color)}.table-wrapper{width:100%;overflow-x:auto;border-radius:var(--card-border-radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.data-table{width:100%;border-collapse:collapse;font-size:.9em}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.data-table th{background-color:var(--card-header-bg);color:var(--text-color);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{background-color:var(--hover-color)}.data-table th.asc:after{content:" ↑"}.data-table th.desc:after{content:" ↓"}.data-table tbody tr:hover{background-color:var(--hover-color)}.status-green{color:var(--success-color)}.status-yellow{color:var(--warning-color)}.status-red{color:var(--error-color)}.status-blue{color:var(--info-color)}@media(min-width:1024px){.tables-container{flex-direction:row}.table-section{flex:1}}.rtad-page{position:relative;min-height:100vh;z-index:1}.rtad-page h1{position:relative;z-index:2;margin-bottom:1.5rem}.dashboard-layout{display:flex;flex-direction:column;gap:1.5rem;width:100%}.rtad-page .error-message{margin:15px auto;padding:10px 20px;border-radius:8px;background-color:#dc26261a;color:#dc2626;border:1px solid #dc2626;border-left:5px solid #dc2626;font-size:14px;font-weight:500;max-width:800px;text-align:center;box-shadow:0 4px 6px #0000001a}.rtad-content{display:flex;flex-direction:column;gap:20px;height:100%}.map-container{width:100%;height:600px;border-radius:var(--card-border-radius);overflow:hidden}label{display:inline-block;font-weight:500}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;box-sizing:border-box;padding:8px 30px 8px 12px;background-color:var(--input-bg, rgba(0, 0, 0, .2));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:4px;color:var(--text-color, var(--text));transition:border-color .2s,box-shadow .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba(255, 255, 255, 0.7)'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:1em}select option{background-color:var(--dropdown-bg);color:var(--dropdown-text)}input[type=text]{width:100%;padding:8px 12px;box-sizing:border-box;background-color:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text);transition:border-color .2s,box-shadow .2s}input[type=color]{width:80px;height:2.5rem;box-sizing:border-box;vertical-align:middle;border:1px solid rgba(255,255,255,.1);border-radius:4px;background-color:#0003}select:focus,input[type=text]:focus{border-color:rgba(var(--primary-rgb, 0,123,255),.7);outline:none;box-shadow:0 0 0 2px rgba(var(--primary-rgb, 0,123,255),.15)}input[type=text]::placeholder,textarea::placeholder{color:var(--text-translucent);opacity:1}input[type=text]::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--text-translucent)}input[type=text]::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-translucent);opacity:1}input[type=text]:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--text-translucent)}input[type=text]::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--text-translucent)}.form-input{margin:0}.input-inline{display:flex;align-items:center;gap:.5rem;width:100%}.form-control{margin:0}.full-width{width:100%;min-width:0;box-sizing:border-box;display:block}.form-row{display:flex;align-items:center;padding:0 .5rem .5rem 0!important;margin:0!important}.form-row,.form-group{display:flex;align-items:center}.form-row label,.form-group label{min-width:120px;text-align:left}.form-row.toggle,.form-group.toggle{align-items:center}.invisible{visibility:hidden}.btn.add{background:var(--glass);opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:all .2s ease;justify-self:right}.btn.add:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.add:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.add:disabled{opacity:.2;cursor:not-allowed}.btn.add:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.primary{background:var(--primary-gradient);background-color:var(--primary);opacity:.6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.btn.primary:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.primary:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.primary:disabled{opacity:.2;cursor:not-allowed}.btn.primary:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.danger{background:linear-gradient(135deg,#dc2121e6,#b42121e6,#8c2121f2);opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.btn.danger:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.danger:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.danger:disabled{opacity:.2;cursor:not-allowed}.btn.danger:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.close-modal{background:var(--glass);background-image:var(--glass-gradient);color:var(--text);opacity:.6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease-in-out}.btn.close-modal:hover{background-color:var(--error-color);background:var(--error-color);opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.close-modal:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.close-modal:disabled{opacity:.2;cursor:not-allowed}.btn.close-modal:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-backdrop.show{opacity:1;visibility:visible}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-card-content{background-color:var(--card-bg);color:var(--text, #ffffff);padding:0rem 0rem 1rem 1.5rem;border-radius:var(--border-radius, 8px);border:1px solid var(--border-color, rgba(255, 255, 255, .1));box-shadow:0 5px 15px #0003;min-width:400px;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.modal-card-content .modal-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:0rem;padding-top:1rem;border-top:1px solid var(--border-color);flex-shrink:0}.modal-container{background-color:var(--card-bg, #2a2a2a);color:var(--text, #ffffff);padding:1.5rem;border-radius:var(--border-radius, 8px);border:1px solid var(--border-color, rgba(255, 255, 255, .1));box-shadow:0 5px 15px #0003;min-width:400px;max-width:600px;width:90%;max-height:60vh;display:flex;flex-direction:column;transform:none;transition:transform .3s ease,box-shadow .3s ease;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-top:1rem;padding-bottom:1rem;flex-shrink:0;margin-bottom:1rem}.modal-header h3{margin:0;font-size:1.2rem;font-weight:600}.modal-body{flex:1 1 auto;overflow-y:auto;padding-bottom:0!important;margin-bottom:0!important;white-space:pre-wrap;word-wrap:break-word}.modal-footer{display:grid;grid-auto-flow:column;gap:1rem;justify-content:end;position:sticky;bottom:0;background:none;z-index:99999;border-top:1px solid var(--border-color, #eee);padding:1rem 1rem 0rem;box-shadow:0 -2px 8px #0000000a}.interface-row .button-container{display:flex;gap:.5rem;align-items:center}.wireguard-page{max-width:1200px;margin:0 auto;padding:20px;position:relative;z-index:1}.view-header{margin-bottom:20px}.action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;background-color:--card-bg;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-add-bar{display:flex;flex-grow:1;gap:15px;background-color:--card-bg;color:--card-bg}.wireguard-search-add-input,.wireguard-search-input{flex-grow:1;min-width:250px}.form-input{background-color:var(--card-bg);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;border:#555}.client-grid-section{margin-top:20px}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.client-details{flex-grow:1}.card-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%}.card-actions .btn{font-size:.9rem;width:100%}.qr-code-container{display:flex;justify-content:center;align-items:center;min-height:300px}.qr-canvas{max-width:100%;border:1px solid #eee;padding:10px;background-color:#fff}.loading-state,.error-state,.empty-state{text-align:center;padding:40px 20px;border-radius:8px;background-color:--card-bg;box-shadow:0 2px 4px #0000001a;margin:20px 0}.loading-state{color:var(--text-color, #555)}.error-state{color:var(--danger-color, #dc3545)}.empty-state{color:var(--text-muted, #888)}.search-bar{display:flex;width:100%;align-items:center}.search-bar-input{flex:1 1 100%;min-width:0;width:100%}.search-bar button{flex:0 0 auto}.search-bar-action{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-right:0rem}.search-bar-input:focus{border-color:rgba(var(--primary-rgb, 0,123,255),.7);outline:none;box-shadow:0 0 0 2px rgba(var(--primary-rgb, 0,123,255),.15)}.btn.edit{background:var(--glass);opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:all .2s ease}.btn.edit:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.edit:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.edit:disabled{opacity:.2;cursor:not-allowed}.btn.edit:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.toggle{display:flex;align-items:center;justify-content:center;opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.btn.toggle.success,.btn.toggle.primary{background:linear-gradient(135deg,#0afd50e6,#019d32f2)}.btn.toggle.secondary{background:linear-gradient(135deg,#fd0a0ae6,#9d0101f2)}.btn.toggle:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.toggle:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.toggle:disabled{opacity:.2;cursor:not-allowed}.btn.toggle:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.toggle .toggle-icon{display:flex;align-items:center;justify-content:center;font-size:1em;width:1em;height:1em;transition:transform .3s cubic-bezier(.4,0,.2,1)}.btn.toggle.secondary .toggle-icon{transform:scaleX(-1)}.btn.delete{color:var(--text);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:.5rem;border-radius:4px;background:var(--glass);cursor:pointer;border:none;outline:none;transition:all .2s ease-in-out;position:relative;box-shadow:0 0 0 var(--shadow-color);margin-left:0rem}.btn.delete:hover{transform:translateY(-2px);background-color:var(--error-color);box-shadow:0 4px 8px var(--shadow-color)}.btn.delete:active{transform:translateY(1px);background-color:var(--error-color)}.btn.delete:disabled{opacity:.1;background:var(--glass)}.btn.delete:disabled:hover{transform:translateY(0);background:var(--glass);box-shadow:0 0 0 var(--shadow-color)}.proxy-host-card-wrapper{height:100%;display:flex}.proxy-host-card-wrapper .base-card{display:flex;flex-direction:column;width:100%}.proxy-host-card-wrapper .card-content{display:flex;flex-direction:column;flex:1}.proxy-host-card-wrapper .npm-card-content{flex:1;display:flex;flex-direction:column;margin-bottom:.75rem}.proxy-host-card-wrapper .npm-card-actions{margin-top:auto}.redirection-host-card-wrapper{height:100%;display:flex}.redirection-host-card-wrapper .base-card{display:flex;flex-direction:column;width:100%}.redirection-host-card-wrapper .card-content{display:flex;flex-direction:column;flex:1}.redirection-host-card-wrapper .npm-card-content{flex:1;display:flex;flex-direction:column;margin-bottom:.75rem}.redirection-host-card-wrapper .npm-card-actions{margin-top:auto}.certificate-card-wrapper{height:100%;display:flex}.certificate-card-wrapper .base-card{display:flex;flex-direction:column;width:100%}.certificate-card-wrapper .card-content{display:flex;flex-direction:column;flex:1}.npm-card-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.npm-card-header h3{margin:0 0 .25rem;word-break:break-word;flex:1}.npm-card-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.npm-card-content{flex:1;display:flex;flex-direction:column;margin-bottom:.75rem}.npm-card-content p{margin:.25rem 0}.npm-card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min-content,1fr));gap:.5rem;border-top:1px solid var(--border-color);padding-top:.75rem;margin-top:auto}.access-list-card-wrapper{height:100%;display:flex}.access-list-card-wrapper .base-card{display:flex;flex-direction:column;width:100%}.access-list-card-wrapper .card-content{display:flex;flex-direction:column;flex:1}.access-list-card-wrapper .npm-card-content{flex:1;display:flex;flex-direction:column;margin-bottom:.75rem}.access-list-card-wrapper .npm-card-actions{margin-top:auto}.form-group.toggle{display:flex;flex-direction:row;align-items:center;margin-bottom:1rem;justify-content:flex-start}.form-group.toggle label{margin-bottom:0;display:flex;align-items:center;cursor:pointer}.form-group.toggle .toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.form-group.toggle .toggle-switch input[type=checkbox]:checked+.slider{opacity:.7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--toggle-bg-enabled)}.form-group.toggle .toggle-switch input[type=checkbox]:checked+.slider:before{transform:translate(25px);background:var(--toggle-dot-enabled);transition:.3s ease}.form-group.toggle .toggle-switch input[type=checkbox]:checked+.slider:hover:before{transform:translate(25px) scale(1.1);transition:.3s ease;box-shadow:0 0 4px 4px var(--primary-gradient)}.form-group.toggle .toggle-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;transition:.4s;border-radius:24px;border-top:1px solid rgba(255,255,255,.1);background:var(--toggle-bg-disabled);border-left:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.6}.form-group.toggle .toggle-switch .slider:before{display:flex;content:"";height:1.4rem;width:1.4rem;background:var(--toggle-dot-disabled);transition:.3s ease;border-radius:50%;box-shadow:0 2px 3px #0000004d;transform:scale(.95)}.form-group.toggle .toggle-label{margin-left:.5rem;-webkit-user-select:none;user-select:none;color:var(--text)}.form-group.toggle .toggle-switch .slider:hover{opacity:1}.form-group.toggle .toggle-switch .slider:hover input[type=checkbox]:disabled+.slider:before{box-shadow:0 0 4px 4px var(--glass)}.tabs{display:flex;margin-bottom:1rem;border-bottom:1px solid var(--border-color)}.tab-link{margin-right:.5rem;padding:.5rem 1rem;border-radius:.25rem .25rem 0 0!important;border-bottom:none!important;position:relative;bottom:-1px;background:transparent;transition:all .2s ease;font-weight:400;cursor:pointer}.tab-link.active{border-bottom:3px solid var(--primary)!important;font-weight:700;background:var(--card-bg)}.tab-link.disabled,.npm-tab.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tab-content{padding:1rem 0}.tab-content.hidden{display:none}.ProxyHostModal,.proxy-host-modal,.modal{z-index:9999!important}.CertificateModal,.certificate-modal,.modal{z-index:9999!important}.modal-container{z-index:99999999!important}.modal-card-content{background:var(--card-bg-hover);z-index:99999999!important}.UploadCertificateModal,.upload-certificate-modal,.modal{z-index:9999!important}.upload-certificate-modal-overlay,.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;z-index:9998!important}.AccessListModal,.access-list-modal,.modal{z-index:9999!important}.access-list-modal-overlay,.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;z-index:9998!important}.ConfirmationModal,.confirmation-modal,.modal{z-index:9999!important}.confirmation-modal-overlay,.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;z-index:9998!important}.npm-modal{max-width:70%;padding:1rem;margin:0 auto}.npm-page{width:100%;max-width:1200px;margin:0 auto}.npm-view-header{margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.npm-tabs{display:flex;margin-bottom:1.5rem;overflow-x:auto;border-bottom:1px solid var(--border-color)}.npm-tab{padding:.75rem 1.25rem;cursor:pointer;border-bottom:2px solid transparent;font-weight:500;white-space:nowrap;color:var(--text-secondary);transition:all .2s ease}.npm-tab:hover{background-color:rgba(var(--primary-rgb),.05);color:var(--text-primary)}.npm-tab.active{border-bottom:2px solid var(--primary);color:var(--primary)}.npm-search-bar{position:relative;margin-bottom:1.5rem;width:100%}.npm-search-bar input{width:100%;border:1px solid var(--border-color);border-radius:.5rem;background-color:var(--card-bg)}.npm-search-bar i{position:absolute;left:.75rem;color:var(--text-secondary)}.npm-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-bottom:1.5rem}.npm-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}.npm-stat-card{background:var(--card-bg);border-radius:.5rem;padding:1.25rem;box-shadow:var(--card-shadow);display:flex;flex-direction:column;border-top:3px solid var(--primary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.npm-stat-card.warning{border-top-color:var(--warning)}.npm-stat-card.danger{border-top-color:var(--danger)}.npm-stat-card h3{font-size:1rem;margin:0 0 .5rem;color:var(--text-secondary)}.npm-stat-card span{font-size:2rem;font-weight:600;color:var(--text-primary)}.npm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;align-items:stretch}.npm-grid>*{min-height:100%}.npm-status-indicator{width:10px;height:10px;border-radius:50%;display:inline-block}.npm-status-indicator.active{background-color:var(--success)}.npm-status-indicator.inactive{background-color:var(--text-tertiary)}.status-indicator{width:10px;height:10px;border-radius:50%;margin-left:auto}.status-indicator.active{background-color:var(--success)}.status-indicator.inactive{background-color:var(--text-tertiary)}.expiry-indicator{padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.expiry-indicator.valid{background-color:rgba(var(--success-rgb),.1);color:var(--success)}.expiry-indicator.warning{background-color:rgba(var(--warning-rgb),.1);color:var(--warning)}.expiry-indicator.expired{background-color:rgba(var(--danger-rgb),.1);color:var(--danger)}.npm-table-container{width:100%;overflow-x:auto;background:var(--card-bg);border-radius:.5rem;box-shadow:var(--card-shadow)}.npm-table{width:100%;border-collapse:collapse}.npm-table th,.npm-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.npm-table th{font-weight:600;color:var(--text-secondary);background-color:var(--bg-hover)}.npm-table tbody tr:hover{background-color:var(--bg-hover)}.npm-empty-state{padding:4rem 2rem;text-align:center;border-radius:.5rem;background:var(--card-bg);box-shadow:var(--card-shadow)}.npm-empty-state i{font-size:3rem;margin-bottom:1rem;color:var(--text-tertiary)}.npm-empty-state p{font-size:1.125rem;color:var(--text-secondary);margin:.5rem 0}.npm-loading-state{padding:4rem 2rem;text-align:center;border-radius:.5rem;background:var(--card-bg);box-shadow:var(--card-shadow)}.npm-loading-state i{font-size:2rem;margin-bottom:1rem;color:var(--primary);animation:spin 1.5s linear infinite}.npm-page .button-group{display:flex;gap:1rem;align-items:center}.npm-card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min-content,1fr));gap:.5rem}.searchbar{display:flex;flex-shrink:0;align-items:flex-start;height:100%}.searchbar-no-shrink{display:flex;align-items:flex-start}.btn.warning{background:linear-gradient(135deg,#e67e22cc,#d35400cc,#af4100cc);color:var(--text);opacity:.6;background-color:var(--warning);box-shadow:none;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);margin:.5rem;transition:all .2s ease}.btn.warning:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.warning:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.warning:disabled{opacity:.2;cursor:not-allowed}.btn.warning:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.service-card{display:flex;flex-direction:column;position:relative;margin-bottom:1rem;padding:1rem;border-radius:8px;overflow:hidden;opacity:1;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease,background-color .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-translucent);z-index:1}.service-card:hover{color:var(--text);z-index:30;transform:translateY(-2px);box-shadow:0 6px 12px var(--shadow-color);background-color:var(--card-bg-hover);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color)}.service-card .card-header{display:flex;align-items:center;background-color:transparent!important;border:none!important;border-bottom:none!important;margin-bottom:0;padding:0;box-shadow:none!important}.service-card .card-header>.card-title{display:flex;align-items:center;gap:.5rem;color:var(--text-color);background-color:transparent;flex-grow:0;width:auto}.service-card .card-header>.card-actions{display:flex;gap:.5rem;border:none!important;border-top:none!important;border-bottom:none!important;background-color:transparent!important;padding:0;flex-shrink:0;margin:0 0 0 auto;width:auto}.service-card .card-content{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}@media(max-width:768px){.service-footer{flex-direction:column;align-items:stretch;gap:.75rem;min-height:auto}.service-status{justify-content:center}.service-actions{justify-content:center;gap:.5rem}}.nextcloud-card{margin-bottom:20px}.nextcloud-card .card-title-content{display:flex;justify-content:space-between;align-items:center;width:100%}.nextcloud-card .title-left{display:flex;align-items:center;gap:10px}.nextcloud-card .title-right{font-size:.875rem;font-weight:400;color:var(--text-secondary, #6c757d)}.nextcloud-card .status-badge{padding:4px 12px;font-size:.75rem;border-radius:12px;font-weight:500}.nextcloud-card .status-running{background-color:var(--success-bg, #28a745);color:#fff}.nextcloud-card .alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:6px;margin-bottom:16px}.nextcloud-card .alert-error{background-color:var(--danger-bg, rgba(220, 53, 69, .1));border:1px solid var(--danger, #dc3545);color:var(--danger, #dc3545)}.nextcloud-card .alert-success{background-color:var(--success-bg, rgba(40, 167, 69, .1));border:1px solid var(--success, #28a745);color:var(--success, #28a745)}.nextcloud-card .deployment-info{background-color:var(--bg-secondary, #f8f9fa);border-radius:8px;padding:16px;margin-bottom:16px}.dark .nextcloud-card .deployment-info{background-color:var(--bg-dark-secondary, #2d2d2d)}.nextcloud-card .info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.nextcloud-card .info-row:last-child{margin-bottom:0}.nextcloud-card .info-label{font-size:.875rem;font-weight:500}.nextcloud-card .info-value{font-size:.875rem}.nextcloud-card .text-success{color:var(--success, #28a745)}.nextcloud-card .containers-list{margin-top:12px}.nextcloud-card .container-items{margin-top:8px}.nextcloud-card .container-item{font-size:.75rem;color:var(--text-secondary, #6c757d);margin-bottom:4px;padding:6px 10px;background-color:var(--bg-light, #f8f9fa);border-radius:4px;border-left:3px solid var(--success, #28a745)}.dark .nextcloud-card .container-item{background-color:var(--bg-dark-tertiary, #1a1a1a)}.nextcloud-card .action-buttons{display:flex;flex-wrap:wrap;gap:8px}.nextcloud-card .btn-block{width:100%}.nextcloud-wizard-modal{max-width:800px;max-height:90vh;overflow-y:auto}.wizard-content{padding:20px}.wizard-content .text-center{text-align:center}.wizard-content .nextcloud-icon{color:var(--primary, #007bff);margin-bottom:16px}.wizard-content .mb-4{margin-bottom:16px}.wizard-title{font-size:1.5rem;font-weight:700;margin-bottom:12px}.wizard-description{color:var(--text-secondary, #6c757d);margin-bottom:24px}.dark .wizard-description{color:var(--text-dark-secondary, #9ca3af)}.info-box{border-radius:8px;padding:16px;margin-bottom:24px;border:1px solid}.info-box-warning{background-color:#ffc1071a;border-color:#ffc1074d}.dark .info-box-warning{background-color:#ffc10726;border-color:#ffc10766}.info-box-success{background-color:#28a7451a;border-color:#28a7454d}.dark .info-box-success{background-color:#28a74526;border-color:#28a74566}.info-box-title{font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.optional-services-section{margin-top:24px}.optional-services-section .section-title{font-size:1.1rem;font-weight:600;margin-bottom:6px}.optional-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.optional-service-card{border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:12px;background:#ffffff0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;transition:border .2s ease,transform .2s ease}.optional-service-card.selected{border-color:var(--primary, #007bff);box-shadow:0 0 12px #007bff33}.optional-service-card.disabled{opacity:.6;cursor:not-allowed}.optional-service-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:6px}.optional-service-description{font-size:.85rem;margin:0 0 6px;color:var(--text-secondary, #6c757d)}.service-hint{font-size:.75rem;color:var(--warning, #e67e22);margin:0}.passphrase-box{display:inline-block;padding:10px 16px;border-radius:8px;background:#0006;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.1rem;letter-spacing:1px;color:#fff}.info-box-text{margin-bottom:16px;font-size:.875rem}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.feature-list li:last-child{margin-bottom:0}.info-list{list-style:none;padding:0;margin:0;font-size:.875rem}.info-list li{margin-bottom:8px}.info-list li:last-child{margin-bottom:0}.info-list.numbered{list-style:decimal;padding-left:24px}.info-list code{background-color:var(--code-bg, #e9ecef);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:.875em}.dark .info-list code{background-color:var(--code-dark-bg, #3a3a3a)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px}.form-group{display:flex;flex-direction:column}.form-label{font-size:.875rem;font-weight:500;margin-bottom:6px;display:block}.form-hint{font-size:.75rem;color:var(--text-muted, #6c757d);margin-top:4px}.domain-input-wrapper{display:flex;align-items:center;gap:4px}.domain-suffix{font-size:.875rem;color:var(--text-secondary, #6c757d);white-space:nowrap}.services-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-label span{-webkit-user-select:none;user-select:none}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input{padding-right:40px}.password-toggle-btn{position:absolute;right:0;top:0;height:100%;padding:0 12px;background:transparent;border:none;cursor:pointer;color:var(--text-secondary, #6c757d);transition:color .2s}.password-toggle-btn:hover:not(:disabled){color:var(--text-primary, #212529)}.password-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.progress-container{margin-bottom:24px}.progress-header{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:8px}.progress-bar{width:100%;height:8px;background-color:var(--progress-bg, #e9ecef);border-radius:4px;overflow:hidden}.dark .progress-bar{background-color:var(--progress-dark-bg, #3a3a3a)}.progress-fill{height:100%;background-color:var(--primary, #007bff);border-radius:4px;transition:width .3s ease}.logs-container{margin-top:24px}.logs-output{background-color:#000;color:#0f0;padding:16px;border-radius:6px;max-height:300px;overflow-y:auto;font-family:Courier New,monospace;font-size:.875rem}.log-line{white-space:pre-wrap;word-break:break-word;margin-bottom:4px}.wizard-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.wizard-actions.space-between{justify-content:space-between}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.nextcloud-card .action-buttons{flex-direction:column}.nextcloud-card .action-buttons button{width:100%}}.services-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.services-page-header .page-title{margin:0}.services-page-actions{display:flex;align-items:center;gap:1rem}.service-search-input{flex-grow:1;min-width:250px;padding:.6rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);background-color:var(--input-bg, rgba(255, 255, 255, .1));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);font-size:.95rem;transition:all .2s ease}.service-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--focus-ring-color, rgba(var(--primary-rgb, 0, 123, 255), .25))}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.no-services-message,.loading-services-message,.error-services-message{grid-column:1 / -1;text-align:center;padding:2rem;color:var(--text-muted);font-style:italic;background-color:var(--card-bg);border-radius:var(--border-radius);border:1px solid var(--border-color);margin:1.5rem 0}.no-services-message i,.loading-services-message i,.error-services-message i{font-size:1.5rem;margin-bottom:.5rem;display:block}.service-header{margin-bottom:1rem;padding:0}.service-title{flex:1}.service-title h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, var(--text));word-wrap:break-word;white-space:normal;overflow:visible}.service-controls{display:flex;align-items:center;gap:.5rem}.service-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-top:auto;min-height:60px;border-top:1px solid var(--border-color)}.additional-status{font-size:.8rem;color:var(--text-muted);margin-left:.5rem}.service-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.service-actions button,.service-actions .btn{min-width:auto;padding:.4rem .8rem!important;height:auto!important;margin:0!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.service-actions button .button-icon,.service-actions .btn .button-icon{margin-right:.4rem}@media(max-width:768px){.services-grid{grid-template-columns:1fr}.service-footer{flex-direction:column;align-items:stretch;gap:.75rem;min-height:auto}.service-status{justify-content:center}.service-actions{justify-content:center;gap:.5rem}}.logs-container{flex-grow:1;overflow-y:auto;background-color:var(--input-bg);border-radius:4px;padding:1rem;border:1px solid var(--border-color);min-height:300px}.logs-content{white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted)}.loading-logs{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-style:italic}.loading-logs svg{margin-right:.5rem}.error-message{color:var(--error-color);padding:1rem;text-align:center}.log-controls{display:flex;align-items:center;gap:1rem}.btn.search{background:linear-gradient(var(--glass-gradient));opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.btn.search:hover{opacity:1;background:linear-gradient(var(--success-color));transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.search:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.search:disabled{opacity:.6;color:var(--text);cursor:not-allowed}.btn.search:disabled:hover{transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.search span{opacity:1}.btn.refresh{background:linear-gradient(var(--glass-gradient));opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.btn.refresh:hover{opacity:1;background:linear-gradient(var(--success-color));transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.refresh:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.refresh:disabled{opacity:.2;cursor:not-allowed}.btn.refresh:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.key{background:linear-gradient(135deg,#dbaa19e6,#e28a2cf2);opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.btn.key:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.key:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.key:disabled{opacity:.2;cursor:not-allowed}.btn.key:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.user{background:linear-gradient(135deg,#19db8ae6,#2ce2b7f2);opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.btn.user:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.user:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.user:disabled{opacity:.2;cursor:not-allowed}.btn.user:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.delete-color{color:var(--text);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:.5rem;border-radius:4px;background:var(--error-color);cursor:pointer;border:none;outline:none;transition:all .2s ease-in-out;position:relative;box-shadow:0 0 0 var(--shadow-color);opacity:.6}.btn.delete-color:hover{opacity:1;transform:translateY(-2px);background-color:var(--error-color);box-shadow:0 4px 8px var(--shadow-color)}.btn.delete-color:active{opacity:1;transform:translateY(1px);background-color:var(--error-color)}.btn.mail-quota{color:var(--text);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:.5rem;border-radius:4px;background:#e50cfd;cursor:pointer;border:none;outline:none;transition:all .2s ease-in-out;position:relative;box-shadow:0 0 0 var(--shadow-color);opacity:.6}.btn.mail-quota:hover{opacity:1;transform:translateY(-2px);background-color:#e50cfd;box-shadow:0 4px 8px var(--shadow-color)}.btn.mail-quota:active{opacity:1;transform:translateY(1px);background-color:#e50cfd}.btn.totp{background-color:#4b4b4b;color:var(--text);border:1px solid var(--warning-dark)}.btn.totp:hover{background-color:#4b4b4b;border-color:var(--warning-darker);transform:translateY(-1px)}.btn.totp:active{background-color:var(--warning-darker);transform:translateY(0)}.btn.totp i{color:var(--text-primary)}.btn.totp.enabled{background-color:#007bff;color:#fff;border:1px solid #0056b3}.btn.totp.enabled:hover{background-color:#0056b3;border-color:#004085;transform:translateY(-1px)}.btn.totp.enabled:active{background-color:#004085;transform:translateY(0)}.btn.totp.enabled i{color:#fff}.btn.mail-password{color:var(--text);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:.5rem;border-radius:4px;background:#ff8c00;cursor:pointer;border:none;outline:none;transition:all .2s ease-in-out;position:relative;box-shadow:0 0 0 var(--shadow-color);opacity:.6}.btn.mail-password:hover{opacity:1;transform:translateY(-2px);background-color:#e67e00;box-shadow:0 4px 8px var(--shadow-color)}.btn.mail-password:active{opacity:1;transform:translateY(1px);background-color:#cc7000}.btn.power{background:linear-gradient(var(--glass-gradient));opacity:.6;color:var(--text);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.btn.power:hover{opacity:1;background:linear-gradient(var(--error-color));transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.power:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.power:disabled{opacity:.2;cursor:not-allowed}.btn.power:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.loading-spinner,.error-message{display:flex;justify-content:center;align-items:center;padding:2rem;font-size:1.1rem;color:var(--text-secondary)}.loading-spinner .svg-inline--fa{margin-right:.5rem;animation:fa-spin 1s infinite linear}.error-message{color:var(--danger);flex-direction:column;text-align:center}.error-message .svg-inline--fa{font-size:1.5rem;margin-bottom:.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.section-header h2{margin:0;font-size:1.3rem;color:var(--text)}#role_selection{width:100%;min-height:150px;max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:4px;padding:.5rem;background-color:var(--input-bg);color:var(--text)}#role_selection option{padding:.5rem;margin-bottom:.25rem;border-radius:3px;cursor:pointer}#role_selection option:checked{background-color:var(--primary);color:#fff}#role_selection option:hover:not(:checked){background-color:var(--hover-bg)}#roleModalUserInfo{margin-bottom:1rem;font-weight:700;color:var(--text-secondary)}.modal-body .form-group{margin-bottom:1rem}.modal-body label{display:block;margin-bottom:.3rem;font-weight:500;font-size:.9rem}.modal-body input[type=email],.modal-body input[type=password]{width:100%;padding:.6rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--input-bg);color:var(--text);font-size:.95rem}.modal-body input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.section-actions{display:flex;align-items:center}.user-card,.session-card{background:var(--card-bg);border-radius:8px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;position:relative;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);overflow:visible;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease,background-color .3s ease;color:var(--text-translucent);min-height:fit-content}.user-card:hover,.session-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px var(--shadow-color);background-color:var(--card-bg-hover);color:var(--text);z-index:30}.user-card-header{display:flex;align-items:center;margin-bottom:.75rem}.user-avatar{background:var(--primary);color:#fff;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:.75rem;flex-shrink:0}.user-avatar .fa-user{font-size:1.1rem}.user-info{flex-grow:1;min-width:0}.user-roles-section{margin:.75rem 0;padding:.5rem;background-color:rgba(var(--primary-rgb, 45, 90, 79),.08);border-radius:4px;border:1px solid rgba(var(--primary-rgb, 45, 90, 79),.15)}.role-label{font-weight:600;color:var(--text-secondary);margin-right:.35rem;font-size:.8rem}.role-value{font-size:.85rem;font-weight:500;color:var(--primary)}.user-card-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-top:auto;padding-top:1rem;padding-bottom:.5rem;border-top:1px solid var(--border-color)}.user-card-actions-row>.user-card-actions{flex:1 1 100%}.user-status,.user-totp-status{font-size:.8rem;padding:.35rem .75rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-weight:500;min-height:2.25rem;white-space:nowrap}.user-status.active{background-color:#4caf5026;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.user-status.inactive{background-color:#9e9e9e26;color:#9e9e9e;border:1px solid rgba(158,158,158,.3)}.user-status .fa-circle-check,.user-status .fa-circle-xmark{margin-right:.3rem;font-size:.7rem}.user-totp-status{font-size:.75rem;border-radius:1rem;border:1px solid;transition:all .3s ease}.user-totp-status.totp-enabled{background-color:#28a7451a;border-color:#28a7454d;color:#28a745}.user-totp-status.totp-disabled{background-color:#6c757d1a;border-color:#6c757d4d;color:#6c757d}.user-totp-status .svg-inline--fa{margin-right:.35rem;font-size:.8rem}.user-card-actions{display:flex;width:100%;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem}.user-card-actions .btn,.session-card-actions .btn{flex:0 0 auto;width:44px;height:44px;border-radius:6px;padding:0;display:inline-flex;align-items:center;justify-content:center}.user-card-actions .btn.icon svg,.user-card-actions .btn.icon .svg-inline--fa{font-size:.8rem;vertical-align:middle}.session-card.current-session{border-left:4px solid var(--primary);background-color:rgba(var(--primary-rgb, 45, 90, 79),.05)}.current-badge{position:absolute;top:.75rem;right:.75rem;background-color:var(--primary);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:700;z-index:2}.session-device{display:flex;align-items:center;margin-bottom:1rem}.device-icon{width:36px;height:36px;background-color:var(--bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:.85rem;flex-shrink:0;border:1px solid var(--border-color)}.device-icon .svg-inline--fa{font-size:1.2rem;color:var(--primary)}.device-info{display:flex;flex-direction:column;min-width:0}.device-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.device-os{color:var(--text-secondary);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-details{margin-bottom:1rem;font-size:.85rem;color:var(--text-secondary)}.session-detail{display:flex;align-items:center;margin-bottom:.4rem}.session-detail .svg-inline--fa{width:16px;text-align:center;margin-right:.6rem;color:var(--icon-color)}.session-detail span{flex-grow:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.session-actions{display:flex;justify-content:flex-end;margin-top:auto}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:1.5rem}@media(max-width:1200px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.card-grid{grid-template-columns:1fr}}.card-section{margin-bottom:1.5rem;padding:0 1rem}.card-section:last-child{margin-bottom:0}.service-status{display:flex;align-items:center}.status-indicator{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:16px;background:var(--bg-subtle);font-size:.9rem;width:auto;height:auto;min-width:120px}.status-icon{font-size:.9rem;display:inline-block;margin-right:.25rem}.status-text{white-space:nowrap}.status-icon.running{color:var(--success)}.status-icon.installed{color:var(--warning)}.status-icon.not-installed{color:var(--danger)}.domain-group{margin-bottom:2rem;position:relative}.domain-group:first-child .domain-separator{margin-top:.5rem}.domain-separator{display:flex;align-items:center;margin:1.5rem 0 1rem;gap:1rem;width:100%;position:relative;z-index:1}.domain-line{flex:1;height:1px!important;background:var(--border-color)!important;min-width:20px;border:none!important;outline:none!important;box-shadow:none!important;position:relative}.domain-line:before,.domain-line:after{display:none!important}.domain-label{font-weight:600;color:var(--text);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;padding:0 1rem;background:var(--card-bg);white-space:nowrap;flex-shrink:0;position:relative;z-index:2}.logfiles-container{margin-bottom:1rem}.logfile-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background-color:var(--bg-lighter);border-radius:6px;border:1px solid var(--border-color)}.logfile-path{font-family:var(--font-mono);font-size:.9rem;color:var(--text-color)}.empty-state{padding:2rem;text-align:center;color:var(--text-secondary);background-color:var(--bg-lighter);border-radius:6px;border:1px dashed var(--border-color)}.form-group input[type=text]{width:100%!important;min-width:0!important;box-sizing:border-box;padding:.75rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);font-family:var(--font-mono)}.form-select{width:100%;padding:.75rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1em;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.input-row{display:flex;align-items:center;gap:.75rem}.input-row .form-input{flex:1 1 auto;min-width:0}.w-100{width:100%!important}.form-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.form-row label{flex:0 0 auto;margin-bottom:0;font-weight:500;color:var(--text-color)}.form-row .form-input,.form-row .form-select{flex:1 1 auto;min-width:0;width:100%}.section-divider{margin:1.5rem 0;height:1px;background-color:var(--border-color)}.toggle-option{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-label{font-size:1rem;color:var(--text-color)}.speed-slider label{font-size:.95rem;color:var(--text-color)}.speed-slider input[type=range]{width:100%}.speed-slider{margin-top:1rem}.speed-slider>div{display:flex;justify-content:space-between;font-size:.8em;color:var(--text-muted)}.form-group input[type=text],.form-group select,.form-group textarea{width:100%;padding:.75rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);font-family:var(--font-mono);margin-bottom:.5rem}.section-description{margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.form-group input[type=text]{width:100%;padding:.75rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);font-family:var(--font-mono)}.form-group input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.form-select{width:100%;padding:.75rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1em;cursor:pointer}.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.loading-indicator{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-secondary);font-size:1.2rem}.ldap-settings-card{background:var(--card-bg, #fff);border-radius:10px;box-shadow:0 2px 12px #00000014;padding:2rem;margin:1.5rem 0;max-width:600px;width:100%;transition:box-shadow .2s}.ldap-settings-card:hover{box-shadow:0 4px 24px #00000021}.ldap-settings-card h2{margin-top:0;font-size:1.5rem;color:var(--primary-color, #2d5a4f)}.ldap-search-results{list-style:none;padding-left:0;margin:.5em 0 0}.ldap-search-results li{padding:2px 0;font-size:.95em}.form-group input[type=text],.form-group select,.form-group textarea{width:100%;padding:.75rem;border-radius:4px;border:1px solid var(--border-color, #d1d5db);background-color:var(--input-bg, #f9fafb);color:var(--text-color, #222);font-family:var(--font-mono, monospace);margin-bottom:.5rem;transition:border-color .2s,box-shadow .2s}.form-select{width:100%;padding:.75rem;border-radius:4px;border:1px solid var(--border-color)!important;background-color:var(--input-bg)!important;color:var(--text-color)!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right .75rem center!important;background-size:1em!important;cursor:pointer;font-family:inherit!important;margin-bottom:.5rem;transition:border-color .2s,box-shadow .2s}.form-select:disabled{opacity:.6!important;cursor:not-allowed!important}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color, #2d5a4f);outline:none;box-shadow:0 0 0 2px #2d5a4f1a}.ldap-settings-card button{background:var(--primary-color, #2d5a4f);color:#fff;border:none;border-radius:4px;padding:.6em 1.2em;font-size:1em;cursor:pointer;transition:background .2s;margin-top:.5em}.ldap-settings-card button:hover{background:#1e3d34}.ldap-settings-card .error{color:#d32f2f;background:#fff0f0;border:1px solid #f8d7da;padding:.5em 1em;border-radius:4px;margin-bottom:1em}.ldap-settings-card .success{color:#388e3c;background:#f0fff0;border:1px solid #c8e6c9;padding:.5em 1em;border-radius:4px;margin-bottom:1em}.mailserver-deployment-card{margin-bottom:2rem}.deployment-start{text-align:center;padding:2rem}.deployment-description{margin-bottom:1.5rem;color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.cert-info{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:2rem;padding:1rem;background-color:rgba(var(--success-color-rgb),.1);border:1px solid var(--success-color);border-radius:8px}.cert-details{width:100%;display:flex;flex-direction:column;gap:.75rem}.cert-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(var(--success-color-rgb),.2)}.cert-detail-row:last-child{border-bottom:none}.cert-label{font-weight:600;color:var(--text-color);min-width:120px;text-align:left}.cert-value{font-family:monospace;background-color:var(--bg-secondary);padding:.25rem .5rem;border-radius:4px;font-size:.9rem;flex:1;text-align:right;word-break:break-all}.cert-warning{margin-bottom:2rem;padding:1rem;background-color:rgba(var(--warning-color-rgb),.1);border:1px solid var(--warning-color);border-radius:8px;color:var(--warning-color);font-weight:500}.deployment-actions{display:flex;justify-content:center;gap:1rem}.deploy-button{font-size:1.1rem;padding:.75rem 2rem;min-width:200px}.deployment-progress-container{padding:1.5rem}.deployment-completed-container{padding:1.5rem;text-align:center}.progress-percentage{font-size:1.1rem;font-weight:600;color:var(--primary-color)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),rgba(var(--primary-color-rgb),.8));border-radius:10px;position:relative;overflow:hidden}.status-starting{color:var(--info-color)}.status-running{color:var(--warning-color)}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.log-info{background-color:rgba(var(--info-color-rgb),.1);border-left:3px solid var(--info-color)}.log-success{background-color:rgba(var(--success-color-rgb),.1);border-left:3px solid var(--success-color)}.log-warning{background-color:rgba(var(--warning-color-rgb),.1);border-left:3px solid var(--warning-color)}.log-error{background-color:rgba(var(--error-color-rgb),.1);border-left:3px solid var(--error-color)}@media(max-width:768px){.deployment-progress-container{padding:1rem}.progress-header{flex-direction:column;align-items:flex-start;gap:.5rem}.status-info{grid-template-columns:1fr}.logs-header{flex-direction:column;align-items:flex-start;gap:1rem}.logs-container{height:300px}.log-entry{flex-direction:column;gap:.5rem}.log-timestamp{min-width:auto}.cert-detail-row{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 0}.cert-label{min-width:auto;text-align:left}.cert-value{text-align:left;word-break:break-word;width:100%}}.mailserver-undeployment-card{margin-bottom:2rem}.undeployment-start{text-align:center;padding:2rem}.undeployment-description{margin-bottom:1.5rem;color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.undeployment-warning{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding:1.5rem;background-color:#f443361a;border:2px solid var(--error-color);border-radius:8px;text-align:left}.warning-icon{font-size:2rem;flex-shrink:0}.warning-content h4{margin:0 0 .5rem;color:var(--error-color);font-size:1.1rem}.warning-content p{margin:0;color:var(--text-color);font-size:.95rem;line-height:1.4}.undeployment-actions{display:flex;justify-content:center;gap:1rem}.undeploy-button{font-size:1.1rem;padding:.75rem 2rem;min-width:200px}.undeployment-progress-container{padding:1.5rem}.undeployment-completed-container{padding:1.5rem;text-align:center}.completion-status{margin-bottom:2rem;padding:2rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.completion-icon{font-size:4rem;margin-bottom:1rem}.completion-status h3{margin:0 0 1rem;color:var(--text-color);font-size:1.5rem}.completion-time{margin:0;color:var(--text-secondary);font-size:.9rem}.completion-actions{margin-top:2rem;display:flex;justify-content:center}.close-button{font-size:1.1rem;padding:.75rem 2rem;min-width:150px}.progress-section{margin-bottom:2rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.progress-header h3{margin:0;color:var(--text-color);font-size:1.2rem}.progress-percentage{font-size:1.1rem;font-weight:600;color:var(--error-color)}.progress-bar{width:100%;height:20px;background-color:var(--bg-secondary);border-radius:10px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--error-color),rgba(244,67,54,.8));border-radius:10px;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.status-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.status-item{display:flex;flex-direction:column;gap:.25rem}.status-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.status-value{font-weight:600;color:var(--text-color)}.status-starting{color:var(--warning-color)}.status-running{color:var(--error-color)}.status-completed{color:var(--success-color)}.status-failed{color:var(--error-color)}.logs-section{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.logs-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.logs-header h4{margin:0;color:var(--text-color);font-size:1.1rem}.logs-actions{display:flex;gap:.5rem}.cancel-button{font-size:.9rem;padding:.5rem 1rem}.logs-container{height:400px;overflow-y:auto;background-color:var(--bg-primary)}.logs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--text-secondary)}.loading-spinner{border:2px solid #f3f3f3;border-top:2px solid var(--error-color);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite;margin-right:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logs-list{padding:.5rem}.log-entry{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem;margin-bottom:.25rem;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.4;opacity:0;animation:fadeInUp .3s ease-out forwards}.log-entry:nth-child(n){animation-delay:calc(var(--log-index, 0) * .05s)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.log-icon{flex-shrink:0;font-size:1rem}.log-timestamp{flex-shrink:0;color:var(--text-secondary);font-size:.8rem;min-width:80px}.log-message{flex:1;word-wrap:break-word;white-space:pre-wrap}.log-info{background-color:#2196f31a;border-left:3px solid var(--info-color)}.log-info .log-message{color:var(--text-color)}.log-success{background-color:#4caf501a;border-left:3px solid var(--success-color)}.log-success .log-message{color:var(--success-color);font-weight:500}.log-warning{background-color:#ff98001a;border-left:3px solid var(--warning-color)}.log-warning .log-message{color:var(--warning-color);font-weight:500}.log-error{background-color:#f443361a;border-left:3px solid var(--error-color)}.log-error .log-message{color:var(--error-color);font-weight:600}@media(max-width:768px){.undeployment-progress-container{padding:1rem}.progress-header{flex-direction:column;align-items:flex-start;gap:.5rem}.status-info{grid-template-columns:1fr}.logs-header{flex-direction:column;align-items:flex-start;gap:1rem}.logs-container{height:300px}.log-entry{flex-direction:column;gap:.5rem}.log-timestamp{min-width:auto}.undeployment-warning{flex-direction:column;text-align:center}.warning-content{text-align:left}}@media(prefers-color-scheme:dark){.progress-bar{box-shadow:inset 0 2px 4px #ffffff1a}.progress-fill:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}}.confirmation-modal .modal-body p{margin:0;color:var(--text-secondary);line-height:1.5;font-size:1rem}.confirmation-modal .modal-footer .cancel-button{background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.confirmation-modal .modal-footer .cancel-button:hover{background:var(--background-hover)}.confirmation-modal .modal-footer .confirm-button{background:var(--error-color);color:#fff;border:none}.confirmation-modal .modal-footer .confirm-button:hover{background:#d32f2f}.mailserver-settings{margin-bottom:2rem}.mailserver-status.warning{background-color:var(--warning-bg);border:1px solid var(--warning-border);border-radius:4px;padding:1rem;margin:1rem 0}.mailserver-deploy{text-align:center;padding:2rem}.mailserver-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;padding:1rem}.info-section{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;padding:1rem}.info-section h3{margin:0 0 .5rem;color:var(--text-color);font-size:1rem}.blocked-domains-list{list-style:none;padding:0;margin:.5rem 0 0;max-height:200px;overflow-y:auto}.blocked-domains-list li{padding:.25rem 0;border-bottom:1px solid var(--border-color)}.blocked-domains-list li:last-child{border-bottom:none}.deployment-progress{margin-top:2rem}.progress-bar{width:100%;height:20px;background-color:var(--bg-secondary);border-radius:10px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background-color:var(--primary-color);transition:width .3s ease}.deployment-logs{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:1rem;max-height:300px;overflow-y:auto;font-family:monospace}.log-entry{margin-bottom:.5rem;display:flex;gap:1rem}.log-entry .timestamp{color:var(--text-secondary);font-size:.9em;white-space:nowrap}.log-entry.error{color:var(--error-color)}.log-entry.success{color:var(--success-color)}.primary-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .2s}.primary-button:hover{background-color:var(--primary-color-hover)}.primary-button:disabled{background-color:var(--disabled-color);cursor:not-allowed}.form-select{width:100%;padding:.75rem;border-radius:4px;border:1px solid var(--border-color)!important;background-color:var(--input-bg)!important;color:var(--text-color)!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right .75rem center!important;background-size:1em!important;cursor:pointer;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-select:focus{outline:none!important;border-color:var(--primary)!important;box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)!important}.form-select:disabled{opacity:.6!important;cursor:not-allowed!important;background-color:var(--input-bg-disabled, var(--input-bg))!important}@media(prefers-color-scheme:dark){.form-select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")!important}}.deployment-mode-card{margin-bottom:20px}.deployment-mode-card .card-title-content{display:flex;justify-content:space-between;align-items:center;width:100%}.deployment-mode-card .title-left{display:flex;align-items:center;gap:10px}.current-mode{margin-bottom:24px;text-align:center}.mode-title{font-size:1.125rem;font-weight:600;margin-bottom:12px;color:var(--text-primary, #212529)}.dark .mode-title{color:var(--text-dark-primary, #f8f9fa)}.mode-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:24px;font-weight:600;font-size:1.125rem}.mode-badge.mode-domain{background-color:var(--primary-light, rgba(13, 110, 253, .1));color:var(--primary, #007bff);border:2px solid var(--primary, #007bff)}.mode-badge.mode-tunnel{background-color:var(--warning-light, rgba(255, 193, 7, .1));color:var(--warning, #ffc107);border:2px solid var(--warning, #ffc107)}.mode-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px}.mode-option{border:2px solid var(--border, #dee2e6);border-radius:12px;padding:20px;transition:all .3s ease;background-color:var(--bg-white, #ffffff)}.dark .mode-option{background-color:var(--bg-dark, #1a1a1a);border-color:var(--border-dark, #3a3a3a)}.mode-option:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.mode-option.active{border-color:var(--primary, #007bff);background-color:var(--primary-light, rgba(13, 110, 253, .05))}.dark .mode-option.active{background-color:var(--primary-dark, rgba(13, 110, 253, .1))}.mode-option-header{text-align:center;margin-bottom:16px}.mode-option-header svg{color:var(--primary, #007bff);margin-bottom:12px}.mode-option-header h4{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary, #212529)}.dark .mode-option-header h4{color:var(--text-dark-primary, #f8f9fa)}.mode-option-body{margin-bottom:16px}.mode-description{margin-bottom:16px;color:var(--text-secondary, #6c757d);line-height:1.5}.dark .mode-description{color:var(--text-dark-secondary, #9ca3af)}.mode-features,.mode-requirements,.mode-limitations{margin-bottom:16px}.mode-features h5,.mode-requirements h5,.mode-limitations h5{font-size:.875rem;font-weight:600;margin-bottom:8px;text-transform:uppercase;color:var(--text-primary, #212529)}.dark .mode-features h5,.dark .mode-requirements h5,.dark .mode-limitations h5{color:var(--text-dark-primary, #f8f9fa)}.mode-features ul,.mode-requirements ul,.mode-limitations ul{list-style:none;padding:0;margin:0}.mode-features li,.mode-requirements li,.mode-limitations li{padding:4px 0;font-size:.875rem}.mode-features svg{margin-right:8px}.mode-option-footer{margin-top:16px}.text-success{color:var(--success, #28a745)}.alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:6px;margin-bottom:16px}.alert-error{background-color:var(--danger-bg, rgba(220, 53, 69, .1));border:1px solid var(--danger, #dc3545);color:var(--danger, #dc3545)}.alert-success{background-color:var(--success-bg, rgba(40, 167, 69, .1));border:1px solid var(--success, #28a745);color:var(--success, #28a745)}.info-box{border-radius:8px;padding:16px;margin-top:24px;border:1px solid}.info-box-blue{background-color:#0d6efd1a;border-color:#0d6efd4d}.dark .info-box-blue{background-color:#0d6efd26;border-color:#0d6efd66}.info-box-title{font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.info-box-text{margin:0;font-size:.875rem;line-height:1.5}@media(max-width:768px){.mode-options{grid-template-columns:1fr}}.tunnel-card{margin-bottom:20px}.tunnel-card .card-title-content{display:flex;justify-content:space-between;align-items:center;width:100%}.tunnel-card .title-left{display:flex;align-items:center;gap:10px}.tunnel-card .section-title{font-size:1.25rem;font-weight:600;margin-bottom:16px;color:var(--text-primary, #212529)}.dark .tunnel-card .section-title{color:var(--text-dark-primary, #f8f9fa)}.tunnel-provider-section{margin-top:24px}.tunnel-status{padding:16px;background-color:var(--bg-secondary, #f8f9fa);border-radius:8px;display:flex;justify-content:space-between;align-items:center}.dark .tunnel-status{background-color:var(--bg-dark-secondary, #2d2d2d)}.tunnel-status .status-indicator{display:flex;align-items:center;gap:10px;font-weight:500}.tunnel-status.running .status-indicator{color:var(--success, #28a745)}.tunnel-setup-form{display:flex;flex-direction:column;gap:16px}.info-box a{color:var(--primary, #007bff);text-decoration:underline}.info-box a:hover{color:var(--primary-dark, #0056b3)}.dark .info-box a{color:var(--primary-light, #4da3ff)}.dark .info-box a:hover{color:var(--primary, #007bff)}@media(max-width:768px){.tunnel-status{flex-direction:column;gap:12px;align-items:stretch}.tunnel-status button{width:100%}}.settings-page-content{padding:1rem;width:100%;max-width:100%;margin:0 auto}.theme-selector{display:flex;gap:1.5rem;margin-bottom:1.5rem}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;padding:1rem;border-radius:8px;border:2px solid var(--border-color);transition:all .2s ease-in-out}.theme-option.active{border-color:var(--primary);background-color:rgba(var(--primary-rgb),.05)}.theme-preview{width:100%;height:100px;border-radius:6px;border:1px solid var(--border-color)}.light-theme{background-color:#fff;background-image:linear-gradient(to bottom,#f7f9fc,#eaeff5);position:relative}.dark-theme{background-color:#1a1c23;background-image:linear-gradient(to bottom,#1a1c23,#2d3748);position:relative}.theme-preview:after{content:"";position:absolute;top:10px;left:10px;right:10px;height:10px;border-radius:5px}.light-theme:after{background-color:#e2e8f0}.dark-theme:after{background-color:#4a5568}.color-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.color-selector input[type=color]{width:50px;height:50px;border:none;border-radius:8px;cursor:pointer;padding:0;background:none}.color-selector input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-selector input[type=color]::-webkit-color-swatch{border:1px solid var(--border-color);border-radius:6px}.color-selector label{font-family:var(--font-mono);font-size:.9rem;color:var(--text-color)}.reset-color-btn{padding:.5rem 1rem;background-color:var(--bg-lighter);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;transition:all .2s ease;font-size:.875rem}.reset-color-btn:hover{background-color:var(--hover-color)}.auth-card{max-width:400px;margin:5rem auto;text-align:left;padding:1.5rem}.auth-card h2{margin-bottom:1.5rem;text-align:center;color:var(--text)}.form-group{display:grid;grid-template-columns:1fr 2fr;align-items:center;margin-bottom:1rem}.form-group label{text-align:left;margin-right:.5rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{background:#0003;border:1px solid var(--border-color);color:var(--text);padding:.75rem;border-radius:.5rem;outline:none;transition:border-color .3s,box-shadow .3s}.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group input[type=text]:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4caf5033}.submit-group{text-align:center;margin-top:.5rem;margin-bottom:1.5rem}.form-group.checkbox{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:.5rem}.form-group.checkbox input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--primary)}.oidc-login-section{padding-top:1rem;display:flex;border-top:1px solid var(--border-color);flex-direction:column;align-items:center;gap:1rem}.separator-text{text-align:center;color:var(--text-translucent)}.separator-text:before,.separator-text:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.btn.primary.oidc{display:flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:.5rem;background-color:var(--primary);color:var(--text);width:100%}.error-message{color:var(--error-color);margin-top:1rem;text-align:center;font-size:.9rem}.process-table-scrollable{max-height:350px;overflow-y:auto;margin-top:.5rem}.process-table{width:100%;border-collapse:collapse;background:transparent;font-size:.98rem}.process-table th,.process-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-color)}.process-table th{background:none;color:var(--text);font-weight:600;border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:2;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.process-table th.sorted{color:var(--primary)}.process-table th .sort-arrow{font-size:.85em;margin-left:.2em}.process-table tr:hover{background:var(--bg-subtle)}.process-loading,.process-error{padding:1rem;text-align:center;color:var(--text-muted)}@media(max-width:600px){.process-table th,.process-table td{padding:.4rem .3rem;font-size:.92rem}.process-table-scrollable{max-height:200px}}.network-card{display:flex;flex-direction:column;position:relative;margin-bottom:1rem;padding:1rem;border-radius:8px;overflow:hidden;opacity:1;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease,background-color .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(7px);border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-translucent);z-index:1}.network-card:hover{color:var(--text);z-index:30;transform:translateY(-2px);box-shadow:0 6px 12px var(--shadow-color);background-color:var(--card-bg-hover);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color)}.network-card .card-header{display:flex;align-items:center;background-color:transparent!important;border:none!important;border-bottom:none!important;margin-bottom:0;padding:0;box-shadow:none!important}.network-card .card-header>.card-title{display:flex;align-items:center;gap:.5rem;color:var(--text-color);background-color:transparent;flex-grow:0;width:auto}.network-card .card-header>.card-actions{display:flex;gap:.5rem;border:none!important;border-top:none!important;border-bottom:none!important;background-color:transparent!important;padding:0;flex-shrink:0;margin:0 0 0 auto;width:auto}.network-card .card-content{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.network-interfaces{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.network-interfaces-header{font-size:.95rem;font-weight:600;margin-bottom:.75rem;color:var(--text-color)}.network-interfaces-table-wrapper{display:flex;flex-direction:column}.network-interfaces-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}.network-interfaces-table th,.network-interfaces-table td{padding:.5rem .75rem;text-align:left}.network-interfaces-table thead th{border-bottom:1px solid var(--border-color);color:var(--text-muted);-webkit-user-select:none;user-select:none;background-color:var(--card-bg);position:sticky;top:0;z-index:1}.network-interfaces-table thead th.sortable{cursor:pointer;transition:color .2s ease,background-color .2s ease}.network-interfaces-table thead th.sortable:hover{color:var(--text-color);background-color:#ffffff0d}.network-interfaces-table thead th.sortable svg{margin-left:.25rem;font-size:.75rem;opacity:.6}.network-interfaces-table thead th.sortable:hover svg{opacity:1}.network-interfaces-table-body-wrapper{max-height:220px;overflow-y:auto;overflow-x:hidden}.network-interfaces-table tbody tr:not(:last-child) td{border-bottom:1px solid rgba(255,255,255,.04)}.network-interfaces-table tbody{display:table-row-group}.network-interfaces-empty{padding:1rem;border:1px dashed var(--border-color);border-radius:.5rem;text-align:center;color:var(--text-muted);font-size:.9rem}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.metric-grid>.metric-section{min-width:0;height:300px;display:flex;flex-direction:column}.metric-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.metric-section{height:300px}.metric-section .chart-container{height:170px}.metric-detail{height:200px}.detail-view{padding:10px 0;width:100%;margin-top:10px}.system-card .metric-detail{display:flex;flex-direction:column}@media(max-width:1200px){.metric-grid,.metric-details-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.metric-grid,.metric-details-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.card,.detail-view{transition:none}}.public-ip-card .ip-address{font-size:1.2em;font-weight:700;color:var(--accent-color)}.ufw-status-card .status-container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.card .ufw-status-card .button-group{display:flex;gap:.5rem}.ufw-rules-card .table{background-color:var(--table-bg-color);color:var(--table-text-color);width:100%;margin-top:1rem;border-collapse:collapse}.ufw-rules-card .table th,.ufw-rules-card .table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--table-border-color)}.ufw-rules-card .table th{background-color:var(--table-header-bg-color);font-weight:700}.ufw-rules-card .table tbody tr:hover{background-color:var(--table-row-hover-bg-color)}.network-page h1{color:var(--header-color);margin-bottom:1.5rem}.network-page h2{color:var(--subheader-color);margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.status-badge{padding:.3em .8em;border-radius:12px;font-weight:700;font-size:.9em;text-transform:uppercase;color:#fff}.status-badge.status-active{background-color:var(--success-color, #28a745)}.status-badge.status-inactive{background-color:var(--warning-color, #ffc107);color:#333}.status-badge.status-loading{background-color:var(--info-color, #17a2b8)}.status-badge.status-error{background-color:var(--danger-color, #dc3545)}.action-badge{padding:.2em .6em;border-radius:4px;font-size:.8em;color:#fff;text-transform:uppercase}.action-badge.action-allow{background-color:var(--success-color, #28a745)}.action-badge.action-deny{background-color:var(--danger-color, #dc3545)}.action-badge.action-reject{background-color:var(--warning-color, #ffc107);color:#333}.alert{padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:4px}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.language-button-container{display:grid;grid-template-columns:minmax(100px,1fr);align-items:right}.btn.language-button{background:var(--primary);width:8rem;height:2.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;opacity:.6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:none;margin:.5rem}.btn.language-button:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.language-button:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.language-button:disabled{opacity:.2;cursor:not-allowed}.btn.language-button:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.logout{width:8rem;height:2.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;opacity:.6;background:linear-gradient(135deg,#dc2121e6,#b42121e6,#8c2121f2);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:none;margin:.5rem;transition:all .2s ease}.btn.logout:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.logout:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.btn.logout:disabled{opacity:.2;cursor:not-allowed}.btn.logout:disabled:hover{opacity:.2;cursor:not-allowed;transform:translateY(0);box-shadow:0 0 0 var(--shadow-color)}.btn.theme-button{position:fixed;bottom:20px;left:20px;z-index:1000;transition:all .2s ease}.btn.theme-button:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-color)}.btn.theme-button:active{transform:translateY(1px);box-shadow:0 0 0 var(--shadow-color)}.dropdown-container{width:100%;position:relative}.dropdown-menu{position:fixed;min-width:180px;background:var(--dropdown-bg);border-radius:.25rem;box-shadow:0 8px 16px var(--shadow-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);z-index:10001;opacity:0;transform:translateY(-10px);visibility:hidden;transition:all .3s ease;overflow:hidden}.dropdown-menu.show{opacity:1;transform:translateY(0);visibility:visible}.dropdown-item{padding:.75rem 1rem;color:var(--dropdown-text);cursor:pointer;transition:background-color .2s ease;font-size:.9rem}.dropdown-item:hover{background-color:rgba(var(--primary-rgb),.1)}.dropdown-item.active{background-color:rgba(var(--primary-rgb),.15);font-weight:600}@media(max-width:768px){.dropdown-menu{min-width:160px}.dropdown-item{padding:.6rem .8rem;font-size:.85rem}}@media(prefers-reduced-motion:reduce){.dropdown-menu,.dropdown-item{transition:none}}.nav-tabs{box-sizing:border-box;display:grid;grid-template-columns:2fr 1fr;align-items:center;padding:0rem;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:2;margin-left:0rem;position:relative;overflow:visible}.nav-links{display:flex;flex-wrap:wrap;gap:1.5rem;margin-left:2rem}.nav-links a{color:var(--text);text-decoration:none;padding:.5rem 0;position:relative;font-weight:500;white-space:nowrap}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary);transition:width .3s}.nav-links a:hover:after{width:100%}.nav-links a.active:after{width:100%}.navbar-right-section{display:grid;grid-template-columns:repeat(2,1fr);margin:.5rem;position:relative;overflow:visible}.navbar-right-section>*{flex-shrink:0}.user-email-welcome{margin-right:0rem;color:var(--text-translucent);font-size:.9rem;text-align:right}.user-email{padding:2rem;color:var(--text-translucent);font-size:.9rem}.language-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--card-bg-hover);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 8px #0000001a;z-index:10001;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);visibility:hidden;transform:translateY(-10px);transition:all .3s}.language-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.language-option{display:block;padding:.5rem 1.5rem;color:var(--dropdown-text);text-decoration:none;white-space:nowrap;transition:background .3s}.language-option:hover{background:#ffffff1a}.language-option.active{background:var(--primary);color:#fff}.language-selector-container{margin-right:.5rem;position:relative;overflow:visible}.navbar-button-container{position:relative;overflow:visible;display:flex;align-items:center;gap:.5rem}.light-mode .nav-tabs{background:rgba(var(--bg-dark-rgb, 224, 224, 224),.7);border:1px solid var(--border-color, rgba(0, 0, 0, .1))}.nav-link-icon{color:var(--text-translucent);margin-right:.5em;transition:color .2s;display:inline-flex;align-items:center}.nav-links a:hover .nav-link-icon,.nav-links a.active .nav-link-icon{color:var(--primary)}
