:root {
    font-family:Segoe UI,Arial,sans-serif;
    color:#e6edf8;
    background:#0e1726;
    color-scheme:dark
}

* {
    box-sizing:border-box
}

body {
    margin:0
}

header {
    background:#162339;
    border-bottom:1px solid #2c3c54;
    padding:20px 5%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

.brand {
    font-size:24px;
    font-weight:700;
    color:#79dac9
}

nav {
    display:flex;
    align-items:center;
    gap:22px
}

a {
    color:#79dac9;
    text-decoration:none
}

a:hover {
    text-decoration:underline
}

main {
    max-width:1250px;
    margin:35px auto;
    padding:0 22px
}

h1 {
    font-size:30px;
    margin:0 0 12px
}

h2 {
    font-size:21px;
    margin-top:32px
}

.muted {
    color:#9eafc6
}

form.panel,.panel {
    background:#162339;
    border:1px solid #2c3c54;
    border-radius:12px;
    padding:24px;
    margin:22px 0
}

label {
    display:block;
    margin:18px 0 7px;
    font-weight:600
}

input:not([type=checkbox]),textarea,select {
    font:inherit;
    width:100%;
    padding:11px;
    border:1px solid #42516a;
    border-radius:7px;
    background:#0e1726;
    color:#e6edf8
}

textarea {
    min-height:110px;
    font-family:Consolas,monospace
}

button,.button {
    display:inline-block;
    background:#78dbc6;
    border:0;
    border-radius:7px;
    color:#09251f;
    font:inherit;
    font-weight:600;
    padding:10px 16px;
    cursor:pointer;
    margin-top:12px
}

.secondary {
    background:#2d405a;
    color:#e6edf8
}

.danger {
    background:#ebae9c
}

.table-wrap {
    overflow:auto;
    background:#162339;
    border:1px solid #2c3c54;
    border-radius:10px;
    margin:20px 0
}

table {
    width:100%;
    border-collapse:collapse
}

th,td {
    padding:14px;
    text-align:left;
    border-bottom:1px solid #2c3c54;
    vertical-align:top
}

th {
    color:#9eafc6;
    font-size:13px;
    letter-spacing:.04em
}

td {
    font-size:14px
}

table form {
    margin:0
}

table button {
    margin:0;
    padding:6px 10px;
    font-size:13px
}

.notice,.error {
    padding:16px;
    border-radius:8px;
    margin:18px 0;
    background:#1c483e
}

.error,.validation-summary-errors {
    background:#4b2731;
    color:#ffcbd1;
    padding:16px;
    border-radius:8px
}

code,pre {
    font-family:Consolas,monospace
}

pre {
    padding:18px;
    background:#0b1320;
    border-radius:8px;
    overflow:auto;
    white-space:pre-wrap;
    word-break:break-word
}

.row {
    display:flex;
    gap:14px;
    align-items:center;
    flex-wrap:wrap
}

.badge {
    padding:4px 8px;
    border-radius:5px;
    background:#2d405a
}

footer {
    padding:30px;
    text-align:center;
    color:#9eafc6;
    font-size:12px
}

.login {
    max-width:460px;
    margin:50px auto
}

details {
    margin:16px 0
}

summary {
    cursor:pointer;
    color:#79dac9
}

@media(max-width:650px) {
    header {
    align-items:flex-start;
    flex-direction:column
}

nav {
    gap:14px;
    flex-wrap:wrap
}

main {
    margin:22px auto;
    padding:0 14px
}

th,td {
    padding:11px;
    white-space:nowrap
}

.panel,form.panel {
    padding:16px
}
}



.action-editor fieldset  {
     border: 1px solid #42516a;
     border-radius: 8px;
     padding: 18px;
     margin: 18px 0;
}


.action-editor legend  {
     color: #79dac9;
     padding: 0 8px;
}



.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 20px 0; }
.client-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 18px; }
.client-card { display: block; border: 1px solid #2c3c54; border-radius: 12px; background: #162339; padding: 24px; color: #e6edf8; }
.client-card:hover { border-color: #79dac9; text-decoration: none; }
.client-card h2 { font-size: 28px; margin: 24px 0 12px; }
.status { display: inline-block; padding: 5px 9px; border-radius: 6px; font-size: 12px; }
.enabled { background: #1c483e; color: #a8f0d3; }
.paused { background: #4b3c27; color: #f0d9a8; }
.steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.step-number { display: inline-grid; place-items: center; background: #2d405a; border-radius: 50%; width: 32px; height: 32px; }
.steps h2 { margin-top: 16px; }
.empty { padding: 30px; border: 1px dashed #42516a; border-radius: 10px; margin: 20px 0; color: #9eafc6; }
.drop-zone { border: 2px dashed #42516a; border-radius: 10px; padding: 28px; cursor: pointer; text-align: center; }
.drop-zone strong, .drop-zone span { display: block; margin: 8px 0; }
.drop-zone input { margin-top: 18px; }
.drag-over { border-color: #79dac9; background: #1c483e; }
.file-table { min-width: 1080px; }
.file-table td:nth-child(2) { min-width: 230px; }
.file-table td:nth-child(5) { min-width: 195px; }
.file-table td:nth-child(6) input { width: 75px; }

@media(max-width:700px) { .steps { grid-template-columns: 1fr; } .page-heading { align-items: flex-start; flex-direction: column; } }

/* Arquivos: a área de opções ocupa toda a largura da tabela. */
[hidden] { display: none !important; }
.file-table { width: 100%; }
.file-table td { vertical-align: top; }
.file-table td:first-child { overflow-wrap: anywhere; }
.file-table input:not([type=checkbox]), .file-table select { min-width: 0; width: 100%; box-sizing: border-box; }
.file-table td:nth-child(6) input { width: 5rem; }
.file-options-panel { padding: 1rem; white-space: normal; }
.file-options-panel > strong { display: block; margin-bottom: 1rem; overflow-wrap: anywhere; }
.file-options-panel textarea { width: 100%; box-sizing: border-box; min-height: 5rem; }
.file-options-panel input[type=number] { max-width: 10rem; }
.folder-row td { background: #203047; padding-top: .6rem; padding-bottom: .6rem; }
.folder-toggle { background: transparent; color: inherit; text-align: left; padding: .25rem; }
.folder-picker { display: block; margin-top: 1rem; }

/* Visão de arquivos e pastas no estilo Explorer. */
.upload-toolbar { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.upload-preview { max-height: 380px; overflow: auto; text-align: left; background: #101b2b; border-radius: 6px; }
.upload-preview:not(:empty) { padding: 1rem; border: 1px solid #40516a; }
.explorer-folder > summary { display: flex; align-items: center; gap: .5rem; cursor: pointer; padding: .4rem; list-style: none; }
.explorer-folder > summary::-webkit-details-marker { display: none; }
.tree-sign { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #7c90ac; border-radius: 2px; width: 1rem; height: 1rem; font-family: monospace; }
.explorer-icon { min-width: 1.2rem; }
.explorer-children { margin-left: 1rem; padding-left: .7rem; border-left: 1px solid #40516a; }
.explorer-file { padding: .4rem; overflow-wrap: anywhere; }
.folder-toggle { font-weight: 600; white-space: pre-wrap; }
.file-table tbody tr:hover > td { background-color: #243650; }
