/* General Styles */
body {
    font-family: Arial, sans-serif;
    background-color: #f0f2f5;
    margin: 0;
    padding: 0;
    color: #333;
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

/* Navbar */
.navbar {
    background-color: #006666;
    border-radius: 0;
    margin-bottom: 0;
    padding: 5px 20px;
}

.navbar-header {
    display: flex;
    align-items: center;
    justify-content: space-between; /* 确保元素在水平方向两端对齐 */
    width: 100%;
}

.navbar-brand, .navbar-brand-r {
    color: #fff;
    font-size: 26px;
    line-height: 1;
    margin: 0;
    text-decoration: none;
}

.navbar-brand-r {
    color: #00CC00;
}


.navbar-brand:hover {
    color: #f1f1f1;
}

/* Alerts */
.alert {
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 15px;
}

.alert-danger {
    background-color: #f44336;
    color: #fff;
}

/* Panels */
.panel {
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    border: 1px solid #ddd;
}

.panel-heading {
    background-color: #f5f5f5;
    border-bottom: 1px solid #ddd;
    padding: 5px 15px;
    border-radius: 4px 4px 0 0;
}

.panel-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin: 0;
}

.panel-body {
    padding: 15px;
}

.panel-footer {
    background-color: #f5f5f5;
    padding: 10px 15px;
    border-radius: 0 0 4px 4px;
}

/* Buttons */
.btn {
    margin: 5px;
    border-radius: 4px;
    padding: 8px 15px;
    font-size: 14px;
    line-height: 1.5;
    height: 36px; /* Consistent height for buttons */
    transition: background-color 0.2s, box-shadow 0.2s; /* Smooth transition */
}

.btn:active {
    background-color: #0053ba; /* Change to a darker shade */
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); /* Add a shadow */
}


.btn-success {
    background-color: #4caf50;
    border-color: #4caf50;
    color: #fff;
    white-space: nowrap;
}

.btn-danger {
    background-color: #f44336;
    border-color: #f44336;
    color: #fff;
}

.btn-warning {
    background-color: #ff9800;
    border-color: #ff9800;
    color: #fff;
    white-space: nowrap;
}

.btn-info {
    background-color: #2196f3;
    border-color: #2196f3;
    color: #fff;
}

/* Input Groups */
.input-group {
    display: flex;
    align-items: center;
}

.input-group-addon {
    background-color: #f0f0f0; /* 设置背景颜色为浅灰色 */
    border: 1px solid #ccc; /* 设置边框为1像素的浅灰色实线 */
    border-radius: 4px 0 0 4px; /* 设置左侧圆角，使其与输入框的左侧对齐 */
    margin-right: -1px; /* 通过负外边距消除附加组件与输入框之间的间隙 */
    height: 34px; /* 设置附加组件的高度，与输入框高度一致 */
    line-height: 36px; /* 设置行高，使文字在附加组件中垂直居中 */
    padding: 0 10px; /* 添加内边距以增加间距 */
    display: flex; /* 使用弹性布局 */
    align-items: center; /* 垂直居中文本 */
    font-size: 14px; /* 调整字体大小以对齐 */
    white-space: nowrap; /* 防止文本换行 */
}

.input-group .form-control {
    border: 1px solid #ccc; /* 设置输入框的边框为1像素的浅灰色实线 */
    border-radius: 0; /* 输入框没有圆角 */
    padding: 8px 12px; /* 调整内边距以匹配按钮 */
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); /* 添加内阴影以增加立体感 */
    transition: border-color 0.2s ease-in-out; /* 边框颜色变化的过渡效果 */
    flex: 1; /* 允许输入框占据可用空间 */
    width: 150px; /* 设置输入框的宽度 */
    height: 36px; /* 设置输入框的高度 */
    line-height: 1.5; /* 设置行高以对齐文本 */
}

.input-group .form-control:focus {
    border-color: #4caf50; /* 输入框获得焦点时的边框颜色 */
    box-shadow: 0 0 5px rgba(76, 175, 80, 0.25); /* 输入框获得焦点时的外阴影 */
}

.input-group-btn {
    display: flex; /* 使用弹性布局 */
}

.input-group-btn .btn {
    height: 36px; /* 设置按钮的高度，与输入框高度一致 */
    line-height: 1.5; /* 垂直对齐按钮中的文本 */
    padding: 8px 12px; /* 调整内边距以匹配输入框 */
    border-radius: 0 4px 4px 0; /* 右侧圆角 */
    margin: 0; /* 移除默认外边距 */
}
/* Badges */
.badge {
    background-color: #4caf50;
    color: #fff;
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 12px;
}

/* Progress Bar */
.progress {
    margin-top: 10px;
    border-radius: 4px;
    overflow: hidden;
    background-color: #e0e0e0;
}

.progress-bar {
    background-color: #4caf50;
}

/* Log Area */
pre#log {
    background-color: #fff;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    max-height: 200px;
    overflow-y: auto;
}

/* Custom Styles */
#nowebusb {
    background-color: #fff3f3;
    border-color: #ffcccc;
    color: #f44336;
}

/* Adjust gap between navbar and content */
.container-fluid, .container {
    padding-top: 5px;
}

#nowebusb, .panel, .alert {
    margin-top: 10px;
}
