/* CSS styles for DevKnife TUI application */

/* Utility classes */
.hidden {
    display: none;
}

/* Main container styles */
#main-container {
    padding: 1;
    height: 100%;
}

#title {
    text-align: center;
    color: blue;
    margin-bottom: 1;
}

#subtitle {
    text-align: center;
    color: gray;
    margin-bottom: 2;
}

/* Search input styles */
#search-input {
    margin-bottom: 1;
    border: solid green;
}

#search-input:focus {
    border: solid blue;
}

/* Category and command styles */
#categories-container {
    height: 100%;
    overflow-y: auto;
}

.command-button {
    width: 100%;
    margin-bottom: 1;
    text-align: left;
    padding: 1 2;
    border: none;
    background: white;
}

.command-button:hover {
    background: lightblue;
    border: solid blue;
}

.command-button:focus {
    background: lightblue;
    border: solid green;
}

/* Form styles */
#form-container {
    padding: 1;
    height: 100%;
}

#form-title {
    color: blue;
    margin-bottom: 1;
}

#form-description {
    color: gray;
    margin-bottom: 2;
}

#options-form {
    padding: 1;
    max-height: 15;
    overflow-y: auto;
}

#action-buttons {
    margin-top: 2;
    height: 3;
}

#action-buttons Button {
    margin-right: 2;
    min-width: 10;
}

/* Input styles */
#input-text {
    height: 8;
    margin-bottom: 1;
    border: solid blue;
}

#input-text:focus {
    border: solid green;
}

#input-file {
    width: 1fr;
    margin-right: 1;
}

.checkbox-button {
    width: 12;
    text-align: center;
    background: white;
}

.checkbox-button:hover {
    background: lightblue;
}

/* Result styles */
#result-container {
    padding: 1;
    height: 100%;
}

#result-title {
    color: blue;
    margin-bottom: 1;
}

.status-success {
    color: green;
    margin-bottom: 1;
}

.status-error {
    color: red;
    margin-bottom: 1;
}

.error-message {
    color: red;
    background: pink;
    padding: 1;
    margin-bottom: 2;
}

.warning {
    color: orange;
    margin-bottom: 1;
}

#output-text {
    height: 15;
    margin-bottom: 1;
}

#result-actions {
    margin-top: 2;
    height: 3;
}

#result-actions Button {
    margin-right: 2;
}

/* Save file styles */
#save-container {
    padding: 2;
    width: 60;
    height: 15;
    margin: 5;
    border: solid blue;
    background: white;
}

#save-title {
    color: blue;
    text-align: center;
    margin-bottom: 2;
}

#file-path {
    width: 100%;
    margin-bottom: 2;
}

/* Help styles */
#help-container {
    padding: 1;
    height: 100%;
}

#help-title {
    color: blue;
    margin-bottom: 1;
}

#help-text {
    height: 1fr;
    margin-bottom: 2;
}

/* Collapsible styles */
Collapsible {
    margin-bottom: 1;
}

Collapsible > Contents {
    padding: 1;
}

/* General button styles */
Button {
    min-width: 12;
}

Button.primary {
    background: blue;
    color: white;
}

Button:hover {
    background: lightblue;
}

/* Input and TextArea styles */
Input {
    margin-bottom: 1;
}

TextArea {
    border: solid blue;
}

/* Label styles */
Label {
    margin-bottom: 1;
    color: black;
}

/* Horizontal container styles */
Horizontal {
    height: auto;
}

Horizontal > * {
    margin-right: 1;
}

Horizontal > *:last-child {
    margin-right: 0;
}

/* Vertical container styles */
Vertical {
    height: 100%;
}

/* Footer and Header styles */
Header {
    background: blue;
    color: white;
}

Footer {
    background: lightblue;
}