body {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: #202837;
    color: #eee;
    margin: 0;
    padding: 0;
}
.container {
    max-width: 1100px;
    margin: 32px auto;
    background: #222b3b;
    border-radius: 16px;
    box-shadow: 0 2px 24px #181f2b44;
    padding: 32px 32px 60px 32px;
}
h1 { margin-bottom: 8px; }
h2 { margin-top: 32px; }

/* --- Collapsible sekce --- */
.cmdSection {
    margin-bottom: 18px;
    border-radius: 12px;
    background: #23263a;
    box-shadow: 0 2px 10px #10131b50;
}
.cmdSectionHeader {
    padding: 10px 20px;
    font-size: 1.13em;
    background: linear-gradient(90deg,#192241 0,#232e4e 100%);
    user-select: none;
    cursor: pointer;
    border-radius: 12px 12px 0 0;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #98f3e2;
    font-weight: bold;
    border-bottom: 1px solid #0ae4b733;
    letter-spacing: 0.04em;
}
.cmdSectionHeader .collapser {
    margin-right: 7px;
    color: #7de8c2;
    font-size: 1.24em;
}
.cmdSectionContent {
    padding: 10px 20px 16px 20px;
    transition: all 0.2s;
    background: linear-gradient(180deg, #1b1e2f 60%, #23263a 100%);
    border-radius: 0 0 12px 12px;
}

/* --- Minimalistické řádky příkazů --- */
.cmdListRow.minimal {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    margin: 0;
    border-radius: 0;
    flex-direction: row;
    min-height: unset;
    background: none;
    box-shadow: none;
    border: none;
    border-bottom: 1px solid #293042;
    font-size: 1.04em;
    transition: background 0.16s;
}
.cmdListRow.minimal:last-child {
    border-bottom: none;
}
.cmdListRow.minimal .cmdKey {
    font-weight: 600;
    min-width: 70px;
    color: #f5c746;
    font-size: 1.12em;
    letter-spacing: 0.01em;
}
.cmdListRow.minimal .cmdType {
    font-size: 0.95em;
    color: #6fb6e5;
    min-width: 27px;
    font-weight: bold;
}
.cmdListRow.minimal .cmdBadge {
    background: #202a36;
    border-radius: 7px;
    padding: 2px 8px;
    font-size: 0.89em;
    color: #7de8c2;
    margin-right: 4px;
}
.cmdListRow.minimal .cmdReplyPreview {
    font-size: 0.95em;
    color: #b3cce3;
    margin-left: auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 330px;
    text-align: right;
}
.cmdListRow.minimal.disabled {
    opacity: 0.37;
}
.cmdListRow.minimal button,
.cmdListRow.minimal .switch {
    margin-left: 4px;
}
.cmdListRow.minimal button {
    padding: 3px 12px;
    border-radius: 6px;
    font-size: 1.01em;
    background: #303a5a;
    color: #f7fafd;
    border: none;
    cursor: pointer;
    transition: background 0.13s;
    outline: none;
    box-shadow: 0 2px 8px #181f2b30;
}
.cmdListRow.minimal button:hover { background: #3ca07f; color: #fff; }
.cmdListRow.minimal button.del {
    background: #ce5b5b;
}
.cmdListRow.minimal button.del:hover {
    background: #b03c3c;
}

/* --- Přepínač aktivní/zakázané --- */
.switch {
    position: relative;
    display: inline-block;
    width: 38px;
    height: 20px;
    margin-left: 10px;
}
.switch input { opacity: 0; width: 0; height: 0;}
.slider {
    position: absolute; cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #a4a7c066;
    border-radius: 20px;
    transition: .2s;
}
.slider:before {
    position: absolute; content: "";
    height: 16px; width: 16px;
    left: 2px; bottom: 2px;
    background: #fff;
    border-radius: 50%;
    transition: .2s;
}
input:checked + .slider { background: #5fdc7f; }
input:checked + .slider:before { transform: translateX(18px); }

/* --- Formulář a další prvky --- */
.cmdForm {
    background: #1c2534;
    border-radius: 18px;
    padding: 30px 36px 22px 36px;
    box-shadow: 0 4px 20px #1a222d60;
    margin: 0 auto 34px auto;
    max-width: 560px;
}
.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}
.form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 12px;
}
input, textarea {
    background: #232a3d;
    color: #eee;
    font-size: 1em;
    border-radius: 6px;
    border: 1.5px solid #2b3650;
    padding: 9px;
}
input[type="text"], input[type="number"], textarea {
    padding: 10px 13px;
    border-radius: 8px;
    border: 1.5px solid #283856;
    background: #202837;
    color: #eafff5;
    font-size: 1.06em;
    outline: none;
    margin-top: 1px;
    transition: border-color .15s;
}
input[type="text"]:focus, input[type="number"]:focus, textarea:focus {
    border-color: #7ae6c2;
}
textarea {
    min-height: 48px;
    resize: vertical;
    font-family: inherit;
}

button, .form-btn {
    padding: 11px 30px;
    border-radius: 10px;
    font-size: 1.10em;
    font-weight: bold;
    border: none;
    cursor: pointer;
    transition: background .14s, color .13s, filter .13s;
    box-shadow: 0 2px 8px #161e2b24;
}
button {
    background: #5fdc7f;
    color: #181825;
}
button:hover, .form-btn-save:hover {
    background: #31be60;
    color: #fff;
}
.form-btn-save {
    background: #5fdc7f;
    color: #232;
}
.form-btn-reset, .cmdActions button.del {
    background: #ff7878;
    color: #fff;
}
.form-btn-reset:hover, .cmdActions button.del:hover {
    background: #d94c4c;
    color: #fff;
}

/* --- Placeholder/note --- */
.placeholder-list {
    font-size: 0.98em;
    background: #232a3d;
    padding: 11px 14px;
    border-radius: 10px;
    margin-bottom: 18px;
}
.placeholder-list code {
    background: #222;
    color: #7ae6c2;
    padding: 2px 6px;
    border-radius: 5px;
}
.note {
    font-size: 0.96em;
    color: #aaf;
    margin-top: 7px;
}
code {
    background: #232b3d;
    color: #7ae6c2;
    border-radius: 5px;
    padding: 2px 7px;
    font-size: 0.97em;
}

/* --- Responsive --- */
@media (max-width: 900px) {
    .container { padding: 18px 2vw 60px 2vw; }
}
@media (max-width: 700px) {
    .cmdForm { padding: 12px 5vw 16px 5vw; }
    .form-row { flex-direction: column; gap: 8px; }
    .cmdSectionHeader, .cmdSectionContent { padding-left: 8px; padding-right: 8px; }
}
.cmdSection .cmdListRow.minimal {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    margin: 0;
    border-radius: 0;
    flex-direction: row;
    min-height: unset;
    background: none;
    box-shadow: none;
    border: none;
    border-bottom: 1px solid #293042;
    font-size: 1.04em;
    transition: background 0.16s;
}
.cmdSection .cmdListRow.minimal:last-child {
    border-bottom: none;
}
.moduleRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #20283a;
    border-radius: 14px;
    padding: 13px 32px 13px 26px;
    margin-bottom: 22px;
    font-size: 1.12em;
    gap: 20px;
}

.moduleText {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.moduleName {
    font-weight: bold;
    color: #23e2ac;
    font-size: 1.17em;
    margin-right: 13px;
    letter-spacing: .01em;
    white-space: nowrap;
}
.moduleDesc {
    color: #b4c4e6;
    font-size: 1em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.moduleSwitch {
    min-width: 60px;
    text-align: right;
}
.soundRow {
    background: #232a3d;
    margin-bottom: 28px;
    border-radius: 18px;
    padding: 26px 38px 18px 38px;
    box-shadow: 0 4px 22px 0 #13e1a044, 0 1px 8px 0 #121a2a36;
    border: 2.5px solid #294575;
    display: block;
    transition: border-color 0.17s, box-shadow 0.18s;
    max-width: 96vw;
}

.soundRow:hover {
    border-color: #7ae6c2;
    box-shadow: 0 7px 32px #13e1a074;
}

.soundRow .sound-flex {
    display: flex;
    gap: 13px;
    align-items: center;
    width: 100%;
    margin: 18px 0 16px 0;
    flex-wrap: wrap;
}

.soundRow .sound-flex > * {
    flex-shrink: 0;
}

.soundRow .soundDesc {
    color: #bbc;
    font-size: .98em;
    display: block;
    margin-bottom: 6px;
    margin-top: 5px;
}

.soundRow .soundDetails {
    font-size: 1.04em;
    color: #7ae6c2;
    display: block;
    margin-bottom: 3px;
}

.soundAliases {
    font-family: monospace;
    background: #1a2b2d;
    padding: 2px 6px;
    border-radius: 5px;
    color: #53ffe1;
    margin-left: 4px;
}

.soundRow input[type="number"],
.soundRow input[type="text"] {
    width: 110px;
    max-width: 24vw;
    border-radius: 8px;
    border: 1.5px solid #34425a;
    background: #202837;
    color: #d8fff0;
    font-size: 1em;
    padding: 8px 12px;
    outline: none;
}

.soundRow input[type="number"]:focus,
.soundRow input[type="text"]:focus {
    border-color: #7ae6c2;
}

.soundRow button {
    min-width: 110px;
    background: #5fdc7f;
    color: #192e23;
    font-weight: bold;
    border-radius: 10px;
    border: none;
    padding: 10px 0;
    font-size: 1.01em;
    cursor: pointer;
    transition: background .17s;
    box-shadow: 0 2px 5px #161c2d55;
    margin-left: 8px;
}

.soundRow button:hover {
    background: #31be60;
    color: #fff;
}

@media (max-width: 900px) {
    .soundRow {
        padding: 15px 3vw 10px 3vw;
    }
    .soundRow .sound-flex {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
    }
}

@media (max-width: 700px) {
    .soundRow {
        padding: 8px 1vw 6px 1vw;
    }
}
