.container-list{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px}.container-group{margin-bottom:16px}.group-header{align-items:center;color:#8b949e;display:flex;font-size:11px;font-weight:600;gap:8px;letter-spacing:.5px;padding:8px 12px;text-transform:uppercase}.group-icon{font-size:8px}.group-icon.running{color:#3fb950}.group-icon.stopped{color:#8b949e}.container-item{background-color:#161b22;border:1px solid #30363d;border-radius:10px;cursor:pointer;margin:6px 0;padding:14px;transition:all .2s}.container-item:hover{background-color:#21262d;border-color:#484f58}.container-item.selected{background-color:#1f6feb15;border-color:#1f6feb}.container-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.status-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.status-dot.running{animation:pulse 2s infinite;background-color:#3fb950;box-shadow:0 0 8px #3fb95080}.status-dot.exited,.status-dot.stopped{background-color:#8b949e}.status-dot.paused{background-color:#d29922}.container-name{color:#e6edf3;flex:1 1;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container-meta{border-left:2px solid #30363d;display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding-left:20px}.container-id{color:#58a6ff;font-family:Monaco,Menlo,Consolas,monospace;font-size:11px}.container-image{color:#8b949e;font-size:11px}.container-stats{background-color:#0d1117;border-radius:8px;margin-top:8px;padding:10px}.stat-row{display:flex;gap:12px;margin-bottom:8px}.stat-row:last-child{margin-bottom:0}.stat-item{display:flex;flex:1 1;flex-direction:column;gap:2px}.stat-label{color:#6e7681;font-size:10px;font-weight:500;text-transform:uppercase}.stat-value{color:#c9d1d9;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;font-weight:500}.stat-value.high{color:#f85149}.stopped-info{justify-content:center}.stopped-text{color:#8b949e;font-size:12px;font-style:italic}.container-ports{border-top:1px solid #21262d;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px}.port-badge{background-color:#238636;border-radius:12px;color:#fff;font-family:Monaco,Menlo,Consolas,monospace;font-size:10px;font-weight:500;padding:3px 8px}.port-badge.more{background-color:#6e7681}.no-containers{color:#8b949e;padding:32px 16px;text-align:center}.no-containers p{margin-bottom:8px}.no-containers .hint{color:#6e7681;font-size:12px}.container-list::-webkit-scrollbar{width:6px}.container-list::-webkit-scrollbar-track{background:#0000}.container-list::-webkit-scrollbar-thumb{background-color:#30363d;border-radius:3px}.container-list::-webkit-scrollbar-thumb:hover{background-color:#484f58}.container-actions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px;margin-left:12px}.action-btn{background:#21262d;color:#c9d1d9;font-size:12px;padding:5px 12px}.action-btn:hover:not(:disabled){border-color:#8b949e}.action-btn.start{color:#3fb950}.action-btn.stop{color:#f0883e}.action-btn.restart{color:#58a6ff}.action-btn.remove{color:#f85149}.unlock-state{font-size:13px}.action-message{font-size:12px}.action-message.ok{color:#3fb950}.action-message.error{color:#f85149}.container-protected{border:1px solid #30363d;border-radius:10px;color:#8b949e;font-size:12px;margin-left:12px;padding:3px 10px}.action-modal-backdrop{align-items:center;background:#010409b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.action-modal{background:#161b22;border:1px solid #30363d;border-radius:10px;color:#c9d1d9;padding:20px 24px;width:min(420px,calc(100vw - 32px))}.action-modal h3{font-size:16px;margin:0 0 8px}.action-modal p{color:#8b949e;font-size:13px;line-height:1.5;margin:0 0 12px}.action-modal input{background:#0d1117;border:1px solid #30363d;border-radius:6px;box-sizing:border-box;color:#fff;font-size:14px;padding:9px 12px;width:100%}.action-modal input:focus{border-color:#58a6ff;outline:none}.modal-error{color:#f85149;font-size:12px;margin-top:8px}.modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.modal-buttons button{border:1px solid #30363d;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 16px}.modal-buttons .cancel-btn{background:#21262d;color:#c9d1d9}.modal-buttons .submit-btn{background:#238636;border-color:#2ea043;color:#fff}.modal-buttons .danger-btn{background:#da3633;border-color:#f85149;color:#fff}.modal-buttons button:disabled{cursor:not-allowed;opacity:.5}.log-viewer{background-color:#0d1117;overflow:hidden;position:relative}.log-entries-container,.log-viewer{display:flex;flex:1 1;flex-direction:column;min-height:0}.log-entries-container{font-family:SF Mono,Monaco,Menlo,Consolas,Liberation Mono,monospace}.log-scroll-container{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:0 16px}.log-scroll-container::-webkit-scrollbar{width:8px}.log-scroll-container::-webkit-scrollbar-track{background:#161b22;border-radius:4px}.log-scroll-container::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.log-scroll-container::-webkit-scrollbar-thumb:hover{background:#484f58}.virtual-log-list{padding:0 16px}.virtual-log-list::-webkit-scrollbar{width:8px}.virtual-log-list::-webkit-scrollbar-track{background:#161b22;border-radius:4px}.virtual-log-list::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.virtual-log-list::-webkit-scrollbar-thumb:hover{background:#484f58}.pagination-info{align-items:center;background:#161b22;border-bottom:1px solid #30363d;color:#8b949e;display:flex;font-size:12px;justify-content:space-between;padding:8px 16px}.load-more-btn{background:#238636;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;padding:4px 12px;transition:all .2s ease}.load-more-btn:hover:not(:disabled){background:#2ea043}.load-more-btn:disabled{cursor:not-allowed;opacity:.5}.loading-more{animation:pulse 1.5s ease-in-out infinite;background:#1c2128;color:#58a6ff;font-size:12px;padding:8px 16px;text-align:center}.log-entry{grid-gap:16px;align-items:start;border-bottom:1px solid #21262d;border-left:3px solid #0000;box-sizing:border-box;display:grid;font-size:13px;gap:16px;grid-template-columns:100px 50px 1fr;line-height:1.5;min-height:36px;padding:8px 12px}.log-entry:hover{background-color:#161b22}.log-entry.error{background-color:#f8514914;border-left-color:#f85149}.log-entry.error:hover{background-color:#f8514926}.log-entry.warn{background-color:#d2992214;border-left-color:#d29922}.log-entry.warn:hover{background-color:#d2992226}.log-entry.info{background-color:#58a6ff0d;border-left-color:#58a6ff}.log-entry.info:hover{background-color:#58a6ff1a}.log-entry.debug{background-color:#8b949e0d;border-left-color:#6e7681}.log-entry.debug:hover{background-color:#8b949e1a}.log-entry.default{border-left-color:#30363d}.log-timestamp{color:#6e7681;font-size:12px;font-weight:500;letter-spacing:-.2px;white-space:nowrap}.log-stream,.log-timestamp{flex-shrink:0;-webkit-user-select:none;user-select:none}.log-stream{border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px;line-height:1.4;padding:2px 8px;text-align:center;text-transform:uppercase}.log-stream.stdout{background-color:#3fb95026;color:#3fb950}.log-stream.stderr{background-color:#f8514933;color:#f85149}.log-message{color:#e6edf3;flex:1 1;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.log-entry.error .log-message{color:#ffa198}.log-entry.warn .log-message{color:#f0c14b}.log-entry.debug .log-message{color:#8b949e}.log-entry.info .log-message{color:#79c0ff}.highlight{background-color:#634c00;border-radius:3px;box-shadow:0 0 0 1px #ffc8004d;color:#fff;font-weight:600;padding:1px 4px}.no-logs{align-items:center;color:#8b949e;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px;text-align:center}.waiting-icon{font-size:56px;margin-bottom:20px;opacity:.7}.waiting-icon.loading-spinner{animation:spin 1.2s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.no-logs p{color:#6e7681;font-size:15px}.scroll-to-bottom{align-items:center;background:linear-gradient(135deg,#238636,#2ea043);border:none;border-radius:24px;bottom:20px;box-shadow:0 4px 16px #23863666;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;left:50%;padding:10px 20px;position:absolute;transform:translateX(-50%);transition:all .2s ease;z-index:10}.scroll-to-bottom:hover{background:linear-gradient(135deg,#2ea043,#3fb950);box-shadow:0 6px 20px #23863680;transform:translateX(-50%) translateY(-3px)}@media (max-width:768px){.log-entry{font-size:12px;gap:8px;grid-template-columns:80px 40px 1fr;padding:6px 10px}.log-timestamp{font-size:11px}.log-stream{font-size:9px;padding:2px 4px}.log-message{font-size:12px}}.log-filters{flex-wrap:wrap;gap:12px;width:100%}.filter-group,.log-filters{align-items:center;display:flex}.custom-range-chip{background-color:#21262d;border:1px solid #30363d;border-radius:6px;color:#79c0ff;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .2s;white-space:nowrap}.custom-range-chip:hover{background-color:#262c36;border-color:#58a6ff}.search-group{flex:1 1;max-width:400px;min-width:200px}.search-input-wrapper{align-items:center;display:flex;position:relative;width:100%}.search-icon{font-size:14px;left:12px;opacity:.6;position:absolute}.search-input{background-color:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:13px;padding:8px 36px;transition:all .2s;width:100%}.search-input:focus{border-color:#58a6ff;box-shadow:0 0 0 3px #58a6ff26;outline:none}.search-input::placeholder{color:#6e7681}.clear-search-btn{background:none;border:none;border-radius:4px;color:#6e7681;cursor:pointer;font-size:12px;padding:4px 8px;position:absolute;right:8px;transition:all .2s}.clear-search-btn:hover{background-color:#30363d;color:#c9d1d9}.filter-select{background-color:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;cursor:pointer;font-size:13px;min-width:130px;padding:8px 12px;transition:all .2s}.filter-select:focus{border-color:#58a6ff;outline:none}.filter-select:hover{border-color:#484f58}.time-select{min-width:150px}.level-select{min-width:120px}.custom-date-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.custom-date-modal{background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 8px 24px #0006;min-width:360px;padding:24px}.custom-date-modal h3{color:#c9d1d9;font-size:16px;font-weight:600;margin:0 0 20px}.date-inputs{gap:16px}.date-field,.date-inputs{display:flex;flex-direction:column}.date-field{gap:8px}.date-field label{color:#8b949e;font-size:12px;font-weight:500;text-transform:uppercase}.date-field input{background-color:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:14px;padding:10px 12px}.date-field input:focus{border-color:#58a6ff;outline:none}.date-field input[type=date],.date-field input[type=time]{cursor:pointer}.date-actions{display:flex;gap:12px;margin-top:24px}.date-actions button{border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.date-actions .cancel-btn{background:#0000;border:1px solid #30363d;color:#c9d1d9}.date-actions .cancel-btn:hover{background:#21262d;border-color:#484f58}.date-actions .apply-btn{background:#238636;border:none;color:#fff}.date-actions .apply-btn:hover:not(:disabled){background:#2ea043}.date-actions .apply-btn:disabled{cursor:not-allowed;opacity:.5}.filter-actions{display:flex;gap:8px;margin-left:auto}.action-btn{align-items:center;border:1px solid #30363d;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s}.action-btn:disabled{cursor:not-allowed;opacity:.5}.stream-btn:hover:not(:disabled){background-color:#2ea043}.stream-btn.streaming:hover:not(:disabled){background-color:#e3a62e}@media (max-width:900px){.log-filters{gap:8px}.search-group{flex:1 1 100%;max-width:none}.filter-actions{justify-content:flex-end;margin-left:0;width:100%}}.login-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#1e1e2e;border:1px solid #2d2d3d;border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:32px;text-align:center}.login-header h1{color:#00d9ff;font-size:24px;font-weight:600;margin:0 0 8px}.login-header p{color:#888;font-size:14px;margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.login-error{background:#ff52521a;border:1px solid #ff5252;border-radius:8px;color:#ff5252;font-size:14px;padding:12px;text-align:center}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#aaa;font-size:14px;font-weight:500}.form-group input{background:#2a2a3a;border:1px solid #3d3d4d;border-radius:8px;color:#fff;font-size:16px;padding:14px 16px;transition:all .2s ease}.form-group input:focus{border-color:#00d9ff;box-shadow:0 0 0 3px #00d9ff1a;outline:none}.form-group input::placeholder{color:#666}.login-btn{background:linear-gradient(135deg,#00d9ff,#00b4d8);border:none;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:all .2s ease}.login-btn:hover:not(:disabled){box-shadow:0 8px 20px #00d9ff4d;transform:translateY(-2px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{cursor:not-allowed;opacity:.7}.login-secondary-btn{background:#0000;border:1px solid #3d3d4d;border-radius:8px;color:#aaa;cursor:pointer;font-size:14px;padding:12px}.login-secondary-btn:hover{border-color:#666;color:#fff}.login-hint{color:#888;font-size:12px;margin:0}.user-management{background:#1a1a2e;color:#fff;min-height:100vh}.um-header{align-items:center;background:#1e1e2e;border-bottom:1px solid #2d2d3d;display:flex;justify-content:space-between;padding:20px 30px}.um-header h1{color:#00d9ff;font-size:20px;margin:0}.back-btn{background:#0000;border:1px solid #3d3d4d;border-radius:6px;color:#aaa;cursor:pointer;padding:10px 20px;transition:all .2s ease}.back-btn:hover{border-color:#00d9ff;color:#00d9ff}.add-btn{background:linear-gradient(135deg,#00d9ff,#00b4d8);border:none;border-radius:6px;color:#1a1a2e;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.add-btn:hover{box-shadow:0 4px 12px #00d9ff4d;transform:translateY(-2px)}.um-error,.um-success{margin:0;padding:15px 30px}.um-error{background:#ff52521a;border-bottom:1px solid #ff52524d;color:#ff5252}.um-success{background:#4caf501a;border-bottom:1px solid #4caf504d;color:#4caf50}.um-form-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.um-form-container{background:#1e1e2e;border:1px solid #2d2d3d;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:100%}.um-form-container h2{color:#00d9ff;font-size:18px;margin:0 0 24px}.um-form-container .form-group{margin-bottom:20px}.um-form-container label{color:#aaa;display:block;font-size:14px;margin-bottom:8px}.um-form-container input,.um-form-container select{background:#2a2a3a;border:1px solid #3d3d4d;border-radius:6px;color:#fff;font-size:14px;padding:12px;width:100%}.um-form-container input:focus,.um-form-container select:focus{border-color:#00d9ff;outline:none}.um-form-container input:disabled,.um-form-container select:disabled{cursor:not-allowed;opacity:.5}.um-container-list{background:#2a2a3a;border-radius:6px;max-height:250px;overflow-y:auto;padding:10px}.container-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:8px 10px;transition:background .2s ease}.container-checkbox:hover{background:#3a3a4a}.container-checkbox.all-containers{border-bottom:1px solid #3d3d4d;margin-bottom:8px;padding-bottom:12px}.container-checkbox input[type=checkbox]{cursor:pointer;width:auto}.container-checkbox .container-name{font-size:14px}.container-checkbox .container-name.running{color:#4caf50}.container-checkbox .container-name.exited{color:#ff5252}.form-actions{display:flex;gap:12px;margin-top:24px}.cancel-btn{background:#0000;border:1px solid #3d3d4d;border-radius:6px;color:#aaa;cursor:pointer;flex:1 1;padding:12px;transition:all .2s ease}.cancel-btn:hover{border-color:#666;color:#fff}.submit-btn{background:linear-gradient(135deg,#00d9ff,#00b4d8);border:none;border-radius:6px;color:#1a1a2e;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s ease}.submit-btn:hover{box-shadow:0 4px 12px #00d9ff4d;transform:translateY(-1px)}.users-table{padding:20px 30px}.users-table table{background:#1e1e2e;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.users-table td,.users-table th{border-bottom:1px solid #2d2d3d;padding:16px 20px;text-align:left}.users-table th{background:#2a2a3a;color:#aaa;font-size:13px;font-weight:500;text-transform:uppercase}.users-table td{font-size:14px}.users-table tbody tr:hover{background:#00d9ff0d}.username-cell{align-items:center;display:flex;gap:10px}.you-badge{background:#00d9ff33;border-radius:10px;color:#00d9ff;font-size:10px;padding:2px 8px;text-transform:uppercase}.role-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.role-badge.admin{background:#ffc10733;color:#ffc107}.role-badge.user{background:#4caf5033;color:#4caf50}.containers-cell .all-access{color:#4caf50}.containers-cell .container-count{color:#00d9ff}.containers-cell .no-access{color:#ff5252}.actions-cell{display:flex;gap:8px}.delete-btn,.edit-btn{border-radius:4px;cursor:pointer;font-size:12px;padding:6px 14px;transition:all .2s ease}.edit-btn{background:#00d9ff1a;border:1px solid #00d9ff4d;color:#00d9ff}.edit-btn:hover{background:#00d9ff33}.delete-btn{background:#ff52521a;border:1px solid #ff52524d;color:#ff5252}.delete-btn:hover{background:#ff525233}.loading{align-items:center;color:#aaa;display:flex;height:100vh;justify-content:center}.status-badge{background:#ffc10726;border-radius:10px;color:#ffc107;font-size:10px;margin-left:6px;padding:2px 8px;text-transform:uppercase}.status-badge.danger{background:#ff525226;color:#ff5252}.form-hint{color:#888;font-size:12px;margin:6px 0 0}.alert-settings{overflow-y:auto}.alert-body{padding:20px 30px 0}.alert-section{background:#1e1e2e;border:1px solid #2d2d3d;border-radius:10px;margin-bottom:20px;padding:20px 24px}.alert-status{margin:0 30px 30px}.alert-section h2{color:#00d9ff;font-size:16px;margin:0 0 12px}.alert-section .form-group{display:flex;flex-direction:column;gap:6px}.alert-section label{color:#aaa;font-size:13px}.alert-section input[type=number],.alert-section input[type=password],.alert-section input[type=text]{background:#2a2a3a;border:1px solid #3d3d4d;border-radius:6px;box-sizing:border-box;color:#fff;font-size:14px;padding:10px 12px;width:100%}.alert-section input:focus{border-color:#00d9ff;outline:none}.alert-grid{grid-gap:16px;display:grid;gap:16px;margin-top:12px}.alert-grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.alert-grid.three{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.alert-toggle{align-items:center;color:#fff!important;cursor:pointer;display:inline-flex;font-size:14px!important;gap:10px;margin:8px 0 4px}.alert-toggle input{accent-color:#00d9ff;height:18px;width:18px}.alert-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.alert-actions .cancel-btn,.alert-actions .submit-btn{flex:0 1 auto;padding:10px 18px}.alert-actions.sticky{background:#1a1a2e;bottom:0;justify-content:flex-end;margin:0;padding:12px 0 20px;position:sticky;z-index:5}.alert-actions button:disabled{cursor:not-allowed;opacity:.5}.link-btn{align-self:flex-start;background:none;border:none;color:#ff5252;cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.threshold-table{border-collapse:collapse;margin-top:8px}.threshold-table td,.threshold-table th{color:#ccc;font-size:13px;padding:6px 10px;text-align:left}.threshold-table th{color:#888;font-weight:500}.threshold-table input[type=number]{width:90px}.alert-state{border-radius:12px;font-size:13px;padding:6px 12px}.alert-state.on{background:#4caf5026;color:#4caf50}.alert-state.off{background:#9e9e9e26;color:#aaa}.alert-status tr.level-critical td{color:#ff6b6b}.alert-status tr.level-warn td{color:#ffc107}.alert-section textarea.template-input{background:#2a2a3a;border:1px solid #3d3d4d;border-radius:6px;box-sizing:border-box;color:#fff;font-family:Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;padding:10px 12px;resize:vertical;width:100%}.alert-section textarea:focus{border-color:#00d9ff;outline:none}.template-editor{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.template-preview{display:flex;flex-direction:column;gap:6px}.telegram-preview{background:#17212b;border:1px solid #2b5278;border-radius:10px;color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.45;margin:0 0 8px;min-height:60px;padding:10px 14px;white-space:pre-wrap;word-break:break-word}.telegram-preview code{color:#8fd3ff;font-family:Fira Code,Consolas,monospace}.preview-error{color:#ff6b6b}.placeholder-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{background:#00d9ff1a;border:1px solid #00d9ff59;border-radius:12px;color:#00d9ff;cursor:pointer;font-family:Fira Code,Consolas,monospace;font-size:12px;padding:3px 9px}.chip:hover{background:#00d9ff33}.link-btn.neutral{color:#00d9ff;margin-top:4px}.check-toggles{grid-gap:4px 16px;display:grid;gap:4px 16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.service-row{background:#23233a;border:1px solid #2d2d3d;border-radius:8px;margin-bottom:12px;padding:12px 16px}.service-row.disabled{opacity:.6}.service-head{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.service-head .alert-toggle{margin:0}.service-type{border-radius:10px;font-size:12px;font-weight:600;padding:3px 10px}.service-type.postgres{background:#33679159;color:#8fc3ff}.service-type.redis{background:#dc382d40;color:#ff8a80}.service-buttons{align-items:center;display:flex;gap:14px;margin-left:auto}.service-buttons .cancel-btn{flex:0 0 auto;padding:6px 14px}.service-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.inline-check{align-items:center;cursor:pointer;display:inline-flex;font-size:12px!important;gap:6px}.service-result{color:#4caf50;font-size:13px;margin-top:10px}.service-result.level-warn{color:#ffc107}.service-result.level-critical{color:#ff6b6b}.ignore-pattern{display:flex;gap:10px;margin:8px 0 12px;max-width:480px}.ignore-pattern .cancel-btn{flex:0 0 auto;padding:8px 16px}.monitor-page{--monitor-ink:#e5edf8;--monitor-strong:#f4f7fc;--monitor-muted:#9aa9bd;--monitor-subtle:#75869d;--monitor-border:#28374b;--monitor-panel:#121b28;--monitor-panel-raised:#172231;--monitor-panel-deep:#0e1621;--monitor-grid:#26364a;background:radial-gradient(ellipse at 12% 0,#142033 0,#0c131d 38%,#0a1018 78%);color:var(--monitor-ink);color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;height:100vh;letter-spacing:0;line-height:1.45;overflow:auto;padding:30px clamp(18px,3.4vw,56px) 48px}.monitor-page,.monitor-page *{box-sizing:border-box}.monitor-page button,.monitor-page input,.monitor-page select{font:inherit}.monitor-custom-range,.monitor-header-actions,.monitor-metric-heading,.monitor-page-header,.monitor-range-controls,.monitor-range-panel,.monitor-range-presets,.monitor-section-heading{align-items:center;display:flex}.monitor-error,.monitor-page-header,.monitor-range-panel,.monitor-section{margin-left:auto;margin-right:auto;max-width:1580px}.monitor-page-header{gap:24px;justify-content:space-between;margin-bottom:24px}.monitor-heading-copy{min-width:0}.monitor-page-header h1{color:var(--monitor-strong);font-size:clamp(28px,3vw,36px);font-weight:740;letter-spacing:-.04em;line-height:1.15;margin:0 0 5px}.monitor-page-header p{color:var(--monitor-muted);font-size:13px;margin:0}.monitor-header-actions{flex-wrap:wrap;gap:10px;justify-content:flex-end}.monitor-updated{grid-gap:1px;color:var(--monitor-muted);display:grid;font-size:11px;gap:1px;margin-right:10px}.monitor-updated strong{color:#d9e3f1;font-size:13px;font-weight:650}.monitor-button,.monitor-range-button{background:var(--monitor-panel);border:1px solid #33445b;border-radius:9px;color:#d4deeb;cursor:pointer;padding:9px 13px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.monitor-button:hover,.monitor-range-button:hover{background:#1a293b;border-color:#5c86bd}.monitor-button:active,.monitor-range-button:active{transform:translateY(1px)}.monitor-refresh-btn{background:#14243a;border-color:#345c8e;color:#8fc0ff;font-weight:650}.monitor-refresh-btn:disabled{cursor:wait;opacity:.58}.monitor-back-btn{background:#202d3d;border-color:#35455a;color:#dce7f6}.monitor-back-btn:hover{background:#293a4f;border-color:#58708e;color:#fff}.monitor-error{background:#2b171e;border:1px solid #7a3e49;border-radius:9px;color:#ffb7bb;margin-bottom:16px;padding:11px 14px}.monitor-range-panel{background:linear-gradient(145deg,#141e2b,#111925);border:1px solid var(--monitor-border);border-radius:14px;box-shadow:0 8px 24px #00000029,inset 0 1px 0 hsla(0,0%,100%,.025);gap:18px;justify-content:space-between;margin-bottom:26px;padding:15px 18px}.monitor-range-copy{grid-gap:3px;display:grid;gap:3px;min-width:190px}.monitor-range-copy strong{color:#e1e9f4;font-size:14px}.monitor-range-copy span{color:var(--monitor-muted);font-size:11px}.monitor-range-controls{flex-wrap:wrap;gap:14px;justify-content:flex-end}.monitor-range-presets{background:#0c141e;border:1px solid #27364a;border-radius:10px;gap:4px;padding:3px}.monitor-range-button{background:#0000;border-color:#0000;color:#a9b7ca;font-size:12px;font-weight:600;padding:7px 11px;white-space:nowrap}.monitor-range-button.active{background:#1a2b41;border-color:#345784;box-shadow:0 2px 8px #0003;color:#a9d0ff}.monitor-custom-range{flex-wrap:wrap;gap:7px}.monitor-custom-range label{align-items:center;color:var(--monitor-muted);display:flex;font-size:11px;gap:6px}.monitor-custom-range input{background:#0d1520;border:1px solid #2c3b50;border-radius:8px;color:#d4deeb;font-size:11px;padding:7px 8px;width:180px}.monitor-custom-range input:focus,.monitor-page select:focus{outline:2px solid #5399f573;outline-offset:1px}.monitor-range-button.apply{background:#151f2d;border:1px solid #34455c}.monitor-section{margin-bottom:28px}.monitor-section-heading{gap:16px;justify-content:space-between;margin-bottom:13px}.monitor-section-heading h2{color:#e6edf7;font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0 0 3px}.monitor-section-heading p{color:var(--monitor-muted);font-size:12px;margin:0}.monitor-sample-count{color:#9aa9bd;font-size:11px;white-space:nowrap}.monitor-metric-grid{grid-gap:13px;display:grid;gap:13px;grid-template-columns:repeat(4,minmax(0,1fr))}.monitor-gauge-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.monitor-metric-card{background:linear-gradient(155deg,#151f2c,#111a26);border:1px solid #29384b;border-radius:13px;box-shadow:0 8px 24px #00000026,inset 0 1px 0 hsla(0,0%,100%,.025);min-width:0;overflow:hidden;padding:16px 16px 12px}.monitor-metric-card:before{background:#8292a7;border-radius:0 0 4px 4px;content:"";display:block;height:3px;margin:-16px 0 13px;width:34px}.monitor-metric-card.cpu:before{background:#4b91ff;box-shadow:0 0 14px #4b91ff4d}.monitor-metric-card.memory:before{background:#ad7bff;box-shadow:0 0 14px #ad7bff42}.monitor-metric-card.disk:before{background:#31ce91;box-shadow:0 0 14px #31ce913b}.monitor-metric-card.network:before{background:#ffae50;box-shadow:0 0 14px #ffae5038}.monitor-metric-heading{align-items:flex-start;color:#a4b1c4;font-size:12px;font-weight:600;gap:8px;justify-content:space-between;min-height:36px}.monitor-metric-heading strong{font-feature-settings:"tnum";color:#f1f5fb;font-size:22px;font-variant-numeric:tabular-nums;font-weight:720;text-align:right}.monitor-metric-detail{color:#8798ae;font-size:10px;margin:2px 0 4px;min-height:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-network-value{grid-gap:2px;color:#dce6f3;display:grid;font-size:12px;gap:2px;justify-items:end;line-height:1.15}.monitor-network-value span:first-child{color:#83b4ff}.monitor-network-value span:last-child{color:#ffc17b}.monitor-chart-wrap{min-width:0}.monitor-chart{display:block;height:180px;overflow:visible;width:100%}.monitor-chart-grid{stroke:var(--monitor-grid);stroke-width:1;vector-effect:non-scaling-stroke}.monitor-chart-axis-label{fill:#8494aa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px}.monitor-chart-empty{color:#8898ad;display:grid;font-size:11px;min-height:180px;padding:20px;place-items:center;text-align:center}.monitor-chart-legend{color:#a0aec1;display:flex;font-size:10px;gap:18px;justify-content:center;padding:0 0 3px}.monitor-chart-legend span{align-items:center;display:inline-flex;gap:6px}.monitor-chart-legend i{border-radius:50%;height:8px;width:8px}.monitor-history-empty{background:#111a25;border:1px dashed #36475d;border-radius:9px;color:#a0aec1;font-size:12px;margin:12px 0 0;padding:12px 14px}.monitor-gauge-heading{grid-gap:4px;display:grid;gap:4px;min-height:36px}.monitor-gauge-heading strong{color:#e3ebf6;font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-gauge-heading span{color:#8798ae;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-resource-gauge{display:block;height:148px;margin:-3px auto -4px;overflow:visible;width:100%}.monitor-gauge-track{stroke:#283340}.monitor-gauge-threshold,.monitor-gauge-track{fill:none;stroke-width:10;stroke-linecap:round}.monitor-gauge-threshold{opacity:.22}.monitor-gauge-threshold.low{stroke:#3bc65b}.monitor-gauge-threshold.medium{stroke:#f3a641}.monitor-gauge-threshold.high{stroke:#fb5964}.monitor-gauge-value-arc{fill:none;stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 4px currentColor)}.monitor-gauge-value{fill:#39c75d;font-feature-settings:"tnum";font-size:31px;font-variant-numeric:tabular-nums;font-weight:560}.monitor-gauge-caption{fill:#a3b1c3;font-size:10px;font-weight:600;letter-spacing:.04em}.monitor-gauge-scale{fill:#8292a7;font-size:9px}.monitor-gauge-card .monitor-chart{height:100px}.monitor-gauge-card .monitor-chart-empty{min-height:100px}.monitor-gauge-card.load .monitor-gauge-value{fill:#f3a641}.monitor-gauge-card.memory .monitor-gauge-value,.monitor-gauge-card.swap .monitor-gauge-value{fill:#ad82ff}.monitor-gauge-card.disk .monitor-gauge-value{fill:#35d39b}.monitor-network-grid{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.monitor-network-grid>*{min-width:0}.monitor-speed-test-card{display:flex;flex-direction:column}.monitor-speed-test-heading{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.monitor-speed-test-heading h3{color:#e7edf7;font-size:14px;font-weight:650;margin:0 0 3px}.monitor-speed-test-heading p{color:#8b9bb0;font-size:10px;margin:0}.monitor-speed-test-button{background:#14243a;border-color:#345c8e;color:#a9d0ff;flex:0 0 auto;font-size:11px;font-weight:650}.monitor-speed-test-button:disabled{cursor:wait;opacity:.65}.monitor-speed-test-results{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.monitor-speed-result{grid-gap:5px;background:#0e1722;border:1px solid #2b394d;border-radius:9px;display:grid;gap:5px;min-width:0;padding:10px 11px}.monitor-speed-result span{color:#93a2b6;font-size:10px}.monitor-speed-result span,.monitor-speed-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-speed-result strong{font-feature-settings:"tnum";color:#ecf2fa;font-size:clamp(15px,1.4vw,21px);font-variant-numeric:tabular-nums;font-weight:700}.monitor-speed-result.download strong{color:#80b9ff}.monitor-speed-result.upload strong{color:#c09aff}.monitor-speed-result.latency strong{color:#55d5a2}.monitor-speed-test-meta{color:#7789a0;font-size:9px;margin:8px 0 0}.monitor-speed-test-card .monitor-chart{height:126px;margin-top:auto}.monitor-speed-test-card .monitor-chart-empty{min-height:126px}.monitor-table-wrap{background:#111a25;border:1px solid #29384b;border-radius:12px;box-shadow:0 8px 24px #00000024;overflow:auto}.monitor-table{border-collapse:collapse;font-size:12px;min-width:1120px;text-align:left;width:100%}.monitor-table th{background:#0e1722;color:#91a1b7;font-size:10px;font-weight:700;letter-spacing:.05em;padding:11px 13px;text-transform:uppercase;white-space:nowrap}.monitor-table td{font-feature-settings:"tnum";border-top:1px solid #243246;color:#c7d2e0;font-variant-numeric:tabular-nums;padding:9px 13px;white-space:nowrap}.monitor-table tbody tr{cursor:pointer;transition:background .14s ease}.monitor-table tbody tr:hover{background:#172435}.monitor-table tbody tr.is-selected{background:#172944}.monitor-container-select{align-items:center;background:#0000;border:0;color:inherit;cursor:pointer;display:flex;gap:10px;padding:0;text-align:left}.monitor-container-select>span:last-child{grid-gap:2px;display:grid;gap:2px}.monitor-container-select strong{color:#e2eaf5;font-size:12px;font-weight:650;max-width:300px;overflow:hidden;text-overflow:ellipsis}.monitor-container-select small{color:#8595aa;font-size:10px}.monitor-container-dot{background:#77859a;border-radius:50%;flex:0 0 auto;height:8px;width:8px}.monitor-container-dot.running{background:#35cf91;box-shadow:0 0 0 3px #35cf9121,0 0 10px #35cf9166}.monitor-state{border-radius:999px;display:inline-flex;font-size:10px;font-weight:650;padding:4px 8px}.monitor-state.running{background:#15372f;color:#70e0b1}.monitor-state.stopped{background:#263141;color:#a9b6c7}.monitor-table-memory{grid-gap:2px;display:grid;gap:2px}.monitor-table-memory small{color:#8798ad;font-size:10px}.monitor-empty{color:#91a1b5!important;padding:30px!important;text-align:center}.monitor-container-picker{align-items:center;color:#a2b0c2;display:flex;font-size:11px;gap:8px}.monitor-container-picker select{background:#111a26;border:1px solid #34445a;border-radius:8px;color:#d6e0ee;max-width:260px;padding:8px 10px}.container-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-container-history-bars{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(105px,1fr));min-width:250px}.monitor-mini-series{min-width:0}.monitor-mini-series-label{align-items:center;color:#9baac0;display:flex;font-size:9px;gap:7px;justify-content:space-between;line-height:1;margin-bottom:4px}.monitor-mini-series-label>span{align-items:center;display:inline-flex;gap:5px}.monitor-mini-series-label>span i{border-radius:50%;height:6px;width:6px}.monitor-mini-series-label>span i.cpu{background:#579cff}.monitor-mini-series-label>span i.memory{background:#b084ff}.monitor-mini-series-label strong{font-feature-settings:"tnum";color:#dce5f1;font-size:10px;font-variant-numeric:tabular-nums;font-weight:650}.monitor-vertical-bars{align-items:flex-end;background:repeating-linear-gradient(0deg,#0000 0,#0000 calc(50% - 1px),#758ba61f calc(50% - 1px),#758ba61f 50%);border-bottom:1px solid #334258;display:flex;gap:2px;height:30px;overflow:hidden}.monitor-vertical-bars i{border-radius:2px 2px 0 0;flex:1 1;max-width:8px;min-width:2px;opacity:.92;transition:height .2s ease,opacity .15s ease}.monitor-vertical-bars i:hover{filter:brightness(1.25);opacity:1}.monitor-vertical-bars i.cpu{background:linear-gradient(0deg,#347bea,#79b5ff)}.monitor-vertical-bars i.memory{background:linear-gradient(0deg,#7950d5,#bd9aff)}.monitor-vertical-bars.empty{border-bottom-style:dashed;position:relative}.monitor-vertical-bars.empty:after{align-self:center;color:#718199;content:"Tarix yig‘ilmoqda";font-size:9px;text-align:center;width:100%}@media (max-width:1280px){.monitor-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-gauge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-network-grid{grid-template-columns:1fr}.monitor-range-panel{align-items:flex-start;flex-direction:column}.monitor-range-controls{justify-content:flex-start}}@media (max-width:760px){.monitor-page{padding:20px 14px 32px}.monitor-page-header{align-items:flex-start;flex-direction:column;gap:14px}.monitor-header-actions{justify-content:flex-start}.monitor-updated{margin:0 0 3px;min-width:100%}.monitor-range-controls{align-items:flex-start;flex-direction:column;width:100%}.monitor-range-presets{justify-content:space-between;width:100%}.monitor-custom-range{align-items:flex-start}.monitor-custom-range label{align-items:flex-start;flex-direction:column}.monitor-custom-range input{width:min(42vw,180px)}.container-metric-grid,.monitor-gauge-grid,.monitor-metric-grid,.monitor-network-grid{grid-template-columns:1fr}.monitor-container-picker,.monitor-section-heading{align-items:flex-start;flex-direction:column}.monitor-container-picker{width:100%}.monitor-container-picker select{max-width:none;width:100%}.monitor-container-history-bars{min-width:250px}}.app{background-color:#0d1117;display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{background-color:#161b22;border-bottom:1px solid #30363d;justify-content:space-between;padding:12px 20px}.header,.header-left{align-items:center;display:flex}.header-left{gap:24px}.logo{color:#58a6ff;font-size:18px;font-weight:600}.docker-stats{color:#8b949e;display:flex;font-size:13px;gap:16px}.stat{align-items:center;display:flex;gap:6px}.stat-icon{color:#3fb950;font-size:10px}.connection-status{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.connection-status.connected{background-color:#3fb95026;color:#3fb950}.connection-status.disconnected{background-color:#f8514926;color:#f85149}.header-right{gap:16px}.header-right,.user-menu{align-items:center;display:flex}.user-menu{gap:12px}.user-info{color:#c9d1d9;font-size:14px;font-weight:500}.admin-btn,.logout-btn{border:1px solid #30363d;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.admin-btn{background-color:#58a6ff1a;border-color:#58a6ff4d;color:#58a6ff}.admin-btn:hover{background-color:#58a6ff33}.logout-btn{background-color:#f851491a;border-color:#f851494d;color:#f85149}.logout-btn:hover{background-color:#f8514933}.main-content{flex:1 1;height:calc(100vh - 53px)}.main-content,.sidebar{display:flex;overflow:hidden}.sidebar{background-color:#161b22;border-right:1px solid #30363d;flex-direction:column;height:100%;max-width:320px;min-height:0;min-width:320px;width:320px}.sidebar-header{align-items:center;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;padding:16px}.sidebar-header h2{color:#c9d1d9;font-size:14px;font-weight:600}.refresh-btn{background:none;border:none;border-radius:4px;color:#8b949e;cursor:pointer;font-size:18px;padding:4px 8px;transition:all .2s}.container-search{border-bottom:1px solid #30363d;padding:8px 16px 12px;position:relative}.container-search-input{background-color:#0d1117;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;font-size:12px;padding:6px 28px 6px 10px;transition:all .2s;width:100%}.container-search-input:focus{border-color:#58a6ff;box-shadow:0 0 0 2px #58a6ff1a;outline:none}.container-search-input::placeholder{color:#6e7681}.search-clear-btn{background:none;border:none;border-radius:3px;color:#6e7681;cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;position:absolute;right:22px;top:50%;transform:translateY(-50%);transition:all .2s}.refresh-btn:hover,.search-clear-btn:hover{background-color:#30363d;color:#c9d1d9}.log-panel{flex:1 1;height:100%;min-width:0;overflow:hidden}.log-header,.log-panel{display:flex;flex-direction:column}.log-header{background-color:#161b22;border-bottom:1px solid #30363d;flex-shrink:0;gap:12px;padding:12px 16px}.container-info{align-items:center;display:flex;gap:12px}.container-info h2{color:#c9d1d9;font-size:16px;font-weight:600}.container-state{border-radius:10px;font-size:11px;font-weight:500;padding:2px 8px;text-transform:uppercase}.container-state.running{background-color:#3fb95026;color:#3fb950}.container-state.exited{background-color:#8b949e26;color:#8b949e}.container-state.paused{background-color:#d2992226;color:#d29922}.log-controls{align-items:center;display:flex;gap:8px;margin-left:auto}.level-filter,.time-filter{background-color:#21262d;border:1px solid #30363d;border-radius:6px;color:#c9d1d9;cursor:pointer;font-size:13px;padding:6px 12px}.level-filter:focus,.time-filter:focus{border-color:#58a6ff;outline:none}.time-filter{min-width:120px}.clear-btn,.stream-btn{border:1px solid #30363d;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s}.stream-btn{background-color:#238636;border-color:#238636;color:#fff}.stream-btn:hover{background-color:#2ea043}.stream-btn.streaming{background-color:#d29922;border-color:#d29922}.clear-btn{background-color:#21262d;color:#c9d1d9}.clear-btn:hover{background-color:#30363d}.log-footer{align-items:center;background-color:#161b22;border-top:1px solid #30363d;color:#8b949e;display:flex;flex-shrink:0;font-size:12px;justify-content:space-between;padding:8px 16px}.streaming-indicator{align-items:center;animation:pulse 2s infinite;color:#3fb950;display:flex;gap:6px}.loading-indicator{animation:pulse 1s infinite;color:#58a6ff}.time-range-indicator{color:#8b949e;font-style:italic}.total-logs{color:#6e7681}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.no-container-selected{align-items:center;color:#8b949e;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px;text-align:center}.placeholder-icon{font-size:64px;margin-bottom:24px;opacity:.5}.no-container-selected h2{color:#c9d1d9;font-size:20px;margin-bottom:8px}.no-container-selected p{font-size:14px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#0d1117;color:#c9d1d9;font-family:Monaco,Menlo,Ubuntu Mono,monospace;min-height:100vh}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#161b22}::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#484f58}