/* WTECH Odoo Manager v1.0.23 - app-specific shell helpers only */
.wtech-user-pill {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 999px;
    background: #fff;
    font-size: 13px;
    color: #334155;
}

.wtech-alert {
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 14px;
    background: #fff;
    color: #334155;
    font-size: 14px;
}

.wtech-alert-success {
    border-color: rgba(22, 163, 74, .28);
    background: rgba(22, 163, 74, .07);
}

.wtech-alert-danger {
    border-color: rgba(220, 38, 38, .28);
    background: rgba(220, 38, 38, .07);
}

.wtech-mt {
    margin-top: 18px;
}

.wtech-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wtech-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}

.wtech-info-list {
    display: grid;
    gap: 10px;
}

.wtech-info-list > div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.wtech-info-list > div:last-child {
    border-bottom: 0;
}

.wtech-info-list span,
.wtech-mini-card span,
.wtech-timeline-list span {
    color: #64748b;
    font-size: 13px;
}

.wtech-info-list strong {
    text-align: right;
    font-weight: 600;
    color: #0f172a;
}

.wtech-timeline-list {
    display: grid;
    gap: 12px;
}

.wtech-timeline-list > div {
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 14px;
    padding: 12px 14px;
    background: #fff;
}

.wtech-timeline-list strong,
.wtech-timeline-list span {
    display: block;
}

.wtech-timeline-list p {
    margin: 7px 0 0;
    color: #475569;
    font-size: 14px;
}

.wtech-module-intro {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.wtech-module-icon {
    display: inline-flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 16px;
    background: #fff;
}

.wtech-module-intro h2 {
    margin: 0 0 6px;
    font-size: 20px;
}

.wtech-module-intro p {
    margin: 0;
    color: #475569;
}

.wtech-mini-card {
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 14px;
    padding: 14px;
    background: #fff;
    min-height: 86px;
}

.wtech-mini-card strong,
.wtech-mini-card span {
    display: block;
}

.wtech-mini-card strong {
    margin-bottom: 8px;
    font-weight: 600;
}

.wtech-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.wtech-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.wtech-table th,
.wtech-table td {
    padding: 11px 10px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    text-align: left;
    vertical-align: top;
}

.wtech-table th {
    color: #475569;
    font-weight: 600;
    background: rgba(248, 250, 252, .78);
}

.wtech-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .12);
    font-size: 13px;
    color: #334155;
}

.wtech-form-grid {
    display: grid;
    gap: 14px;
}

.wtech-form-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wtech-form-grid .wide {
    grid-column: 1 / -1;
}

.wtech-setup-card {
    max-width: 760px;
}

.wtech-setup-section-title {
    margin: 18px 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: .04em;
}

@media (max-width: 980px) {
    .wtech-grid-2,
    .wtech-form-grid.two {
        grid-template-columns: 1fr;
    }
    .wtech-info-list > div {
        display: grid;
    }
    .wtech-info-list strong {
        text-align: left;
    }
}

/* v1.0.2 spacing/alignment pass */
* {
    box-sizing: border-box;
}

.wtech-main {
    min-width: 0;
}

.wtech-content {
    padding: 16px 18px 18px;
}

.wtech-topbar {
    min-height: 76px;
    padding: 12px 20px;
    gap: 16px;
}

.wtech-topbar-left,
.wtech-top-actions {
    min-width: 0;
    gap: 12px;
}

.wtech-topbar-logo {
    width: auto;
    height: 48px;
    max-width: 190px;
    object-fit: contain;
    flex: 0 0 auto;
}

.wtech-page-title-block {
    min-width: 0;
}

.wtech-page-title-block h1 {
    margin: 0 0 3px;
    line-height: 1.15;
}

.wtech-page-title-block p {
    margin: 0;
    line-height: 1.25;
}

.wtech-content-toolbar {
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
    padding: 14px 16px;
}

.wtech-content-toolbar > div {
    min-width: 0;
}

.wtech-content-toolbar strong,
.wtech-card-head strong,
.wtech-mini-card strong,
.wtech-timeline-list strong {
    line-height: 1.25;
}

.wtech-grid {
    gap: 14px;
}

.wtech-grid-4 {
    gap: 14px;
}

.wtech-card {
    min-width: 0;
    padding: 16px;
}

.wtech-kpi {
    min-height: 118px;
    align-items: center;
    gap: 14px;
}

.wtech-kpi-icon {
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
}

.wtech-kpi-value {
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.wtech-card-head {
    gap: 10px;
    margin-bottom: 12px;
    min-width: 0;
}

.wtech-card-head .wtech-muted {
    text-align: right;
    overflow-wrap: anywhere;
}

.wtech-dashboard-detail-grid {
    align-items: start;
}

.wtech-dashboard-plan-card .wtech-timeline-list {
    gap: 8px;
}

.wtech-dashboard-plan-card .wtech-timeline-list > div {
    padding: 12px 14px;
    border-radius: 12px;
}

.wtech-system-snapshot-card {
    align-self: start;
}

.wtech-info-list {
    gap: 0;
}

.wtech-info-list > div {
    align-items: center;
    min-width: 0;
    padding: 13px 0;
}

.wtech-info-list span {
    flex: 0 0 170px;
}

.wtech-info-list strong {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.wtech-mini-card {
    min-height: 82px;
    padding: 13px 14px;
}

.wtech-table th,
.wtech-table td {
    padding: 10px 12px;
    line-height: 1.35;
}

.wtech-form-grid {
    gap: 12px;
}

.wtech-form-row {
    margin-bottom: 12px;
}

.wtech-form-row:last-child {
    margin-bottom: 0;
}

.wtech-setup-section-title {
    margin: 16px 0 10px;
}

.wtech-login-wrap {
    gap: 22px;
    padding-top: 18px;
    padding-bottom: 18px;
}

.wtech-login-info,
.wtech-login-panel-shell {
    min-width: 0;
}

.wtech-login-card {
    padding: 22px;
}

.wtech-login-feature-grid {
    gap: 12px;
}

.wtech-login-feature {
    min-width: 0;
}

.wtech-login-feature strong,
.wtech-login-feature span,
.wtech-login-lead,
.wtech-login-baseline,
.wtech-security-note {
    overflow-wrap: anywhere;
}

.wtech-sidebar {
    scrollbar-width: none;
}

.wtech-sidebar::-webkit-scrollbar,
.wtech-nav::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.wtech-nav {
    padding-bottom: 14px;
    scrollbar-width: none;
}

.wtech-nav-section {
    margin-top: 16px;
    margin-bottom: 8px;
}

.wtech-nav a {
    min-height: 40px;
}

.wtech-sidebar-footer {
    padding-top: 12px;
}

.wtech-app-footer,
.wtech-login-bottom {
    gap: 12px;
    padding: 12px 18px;
}

.wtech-footer-link {
    flex-wrap: wrap;
    gap: 4px;
    text-align: right;
}

@media (min-width: 1400px) {
    .wtech-content {
        padding: 16px 20px 20px;
    }

    .wtech-dashboard-detail-grid {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr);
    }
}

@media (max-width: 1200px) {
    .wtech-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wtech-topbar-logo {
        height: 42px;
        max-width: 160px;
    }
}

@media (max-width: 980px) {
    .wtech-content {
        padding: 14px;
    }

    .wtech-topbar {
        min-height: 68px;
        padding: 10px 14px;
    }

    .wtech-topbar-logo {
        display: none;
    }

    .wtech-content-toolbar,
    .wtech-card-head {
        align-items: flex-start;
    }

    .wtech-content-toolbar {
        display: grid;
    }

    .wtech-content-toolbar .wtech-btn,
    .wtech-content-toolbar button,
    .wtech-content-toolbar a {
        justify-self: start;
    }

    .wtech-card-head .wtech-muted {
        text-align: left;
    }

    .wtech-info-list span {
        flex-basis: auto;
    }
}

@media (max-width: 720px) {
    .wtech-grid-4 {
        grid-template-columns: 1fr;
    }

    .wtech-content {
        padding: 12px;
    }

    .wtech-card,
    .wtech-content-toolbar {
        padding: 14px;
    }

    .wtech-kpi {
        min-height: auto;
    }

    .wtech-top-actions {
        gap: 8px;
    }

    .wtech-user-pill {
        display: none;
    }

    .wtech-footer-link,
    .wtech-app-footer,
    .wtech-login-bottom {
        text-align: left;
    }

    .wtech-login-card {
        padding: 18px;
    }
}

/* v1.0.3 server setup checks */
.wtech-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .12);
    background: #fff;
    color: #334155;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    white-space: nowrap;
}

.wtech-status-badge.ok {
    color: #166534;
    border-color: rgba(22, 101, 52, .22);
    background: rgba(22, 163, 74, .08);
}

.wtech-status-badge.warning {
    color: #92400e;
    border-color: rgba(146, 64, 14, .24);
    background: rgba(245, 158, 11, .10);
}

.wtech-status-badge.failed {
    color: #991b1b;
    border-color: rgba(153, 27, 27, .24);
    background: rgba(220, 38, 38, .08);
}

.wtech-status-badge.info {
    color: #334155;
    border-color: rgba(51, 65, 85, .18);
    background: rgba(148, 163, 184, .10);
}

.wtech-readiness-box {
    display: grid;
    gap: 6px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 14px;
    padding: 14px;
    background: #fff;
}

.wtech-readiness-box strong {
    font-size: 15px;
}

.wtech-readiness-box span,
.wtech-mini-note,
.wtech-safe-scope-list span {
    color: #64748b;
    font-size: 13px;
}

.wtech-readiness-box.ok {
    border-color: rgba(22, 163, 74, .24);
    background: rgba(22, 163, 74, .06);
}

.wtech-readiness-box.warning {
    border-color: rgba(245, 158, 11, .28);
    background: rgba(245, 158, 11, .08);
}

.wtech-readiness-box.failed {
    border-color: rgba(220, 38, 38, .26);
    background: rgba(220, 38, 38, .06);
}

.wtech-safe-scope-list {
    display: grid;
    gap: 10px;
}

.wtech-safe-scope-list > div {
    display: grid;
    gap: 4px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.wtech-safe-scope-list > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.wtech-mono-cell {
    max-width: 320px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 12px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.wtech-check-table th:nth-child(1),
.wtech-check-table td:nth-child(1) {
    width: 120px;
}

.wtech-check-table th:nth-child(3),
.wtech-check-table td:nth-child(3) {
    width: 100px;
}

.wtech-check-summary-grid {
    align-items: start;
}

.wtech-content-toolbar form {
    margin: 0;
}

@media (max-width: 980px) {
    .wtech-check-table th,
    .wtech-check-table td {
        min-width: 140px;
    }
}


/* v1.0.6 agent registration form */
.wtech-alert-warning {
    border-color: rgba(245, 158, 11, .30);
    background: rgba(245, 158, 11, .08);
    color: #78350f;
}

.wtech-target-form label {
    display: block;
    margin-bottom: 7px;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
}

.wtech-target-form textarea.wtech-input {
    resize: vertical;
    min-height: 92px;
}

.wtech-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 14px;
}

.wtech-content-toolbar .wtech-status-badge {
    min-height: 32px;
}

button.wtech-btn:disabled {
    opacity: .62;
    cursor: not-allowed;
}

@media (max-width: 720px) {
    .wtech-form-actions {
        justify-content: stretch;
    }

    .wtech-form-actions .wtech-btn {
        width: 100%;
        justify-content: center;
    }
}


/* v1.0.6 agent server registration */
.wtech-command-box {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 13px;
    line-height: 1.45;
    resize: vertical;
    min-height: 78px;
    overflow-wrap: anywhere;
}

.wtech-table form {
    margin: 0;
}

.wtech-table .wtech-btn {
    min-height: 30px;
    padding: 0 10px;
    font-size: 12px;
}

.wtech-alert strong {
    font-weight: 600;
}

/* v1.0.6 agent record install command placement */
.wtech-agent-record-active td {
    background: #fffaf0;
}

.wtech-agent-command-row td {
    background: #fffaf0;
    border-top: 0;
}

.wtech-agent-command-panel {
    border: 1px solid #f0c987;
    background: #fffdf8;
    border-radius: 12px;
    padding: 14px;
    display: grid;
    gap: 10px;
}

.wtech-agent-command-head,
.wtech-agent-command-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wtech-agent-command-footer .wtech-mini-note {
    margin: 0;
    max-width: 880px;
}

@media (max-width: 900px) {
    .wtech-agent-command-head,
    .wtech-agent-command-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .wtech-agent-command-footer .wtech-btn {
        justify-content: center;
        width: 100%;
    }
}

/* v1.0.10 agent records controls */
.wtech-agent-filter-form {
  margin: 12px 0 14px;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 12px;
  background: rgba(248, 250, 252, .78);
}
.wtech-agent-filter-grid {
  grid-template-columns: minmax(240px, 1.6fr) minmax(160px, .8fr) minmax(120px, .5fr) minmax(180px, .7fr);
  align-items: end;
}
.wtech-filter-actions-row .wtech-filter-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.wtech-table-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #58708e;
  font-size: 13px;
  margin: 0 0 10px;
}
.wtech-inline-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.wtech-inline-actions form {
  margin: 0;
}
.wtech-btn-danger {
  color: #9f1239 !important;
  border-color: rgba(225, 29, 72, .28) !important;
  background: rgba(255, 241, 242, .9) !important;
}
.wtech-btn-danger:hover {
  background: rgba(255, 228, 230, .95) !important;
}
.wtech-pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 14px;
}
@media (max-width: 900px) {
  .wtech-agent-filter-grid {
    grid-template-columns: 1fr;
  }
  .wtech-table-meta {
    flex-direction: column;
  }
}


/* v1.0.10 Ubuntu agent command notes */
.wtech-command-notes-grid {
    align-items: stretch;
}
.wtech-agent-note-block {
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 14px;
    background: #fff;
    padding: 14px;
}
.wtech-alert-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e3a8a;
}
@media (max-width: 900px) {
    .wtech-command-notes-grid {
        grid-template-columns: 1fr;
    }
}

/* v1.0.10 agent reinstall safety */
.wtech-agent-command-section {
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 12px;
    background: #fff;
    padding: 12px;
    display: grid;
    gap: 10px;
}
.wtech-agent-force-section {
    background: #fff7ed;
    border-color: rgba(251, 146, 60, .42);
}
.wtech-inline-actions small {
    display: inline-block;
    margin-top: 2px;
    font-size: 11px;
    color: #9a3412;
}

/* v1.0.14 agent cleanup required before delete */
.wtech-agent-connected-command-row td {
    background: #f8fbff;
}
.wtech-agent-connected-panel {
    background: #f8fbff;
    border-color: rgba(37, 99, 235, .24);
}
.wtech-agent-connected-panel .wtech-agent-force-section {
    background: #fff7ed;
}
.wtech-agent-command-footer form {
    margin: 0;
}
.wtech-agent-command-footer .wtech-btn {
    white-space: nowrap;
}
@media (max-width: 900px) {
    .wtech-agent-command-footer form,
    .wtech-agent-command-footer .wtech-btn {
        width: 100%;
    }
    .wtech-agent-command-footer .wtech-btn {
        justify-content: center;
    }
}

/* v1.0.14 agent cleanup required before delete */
.wtech-agent-cleanup-panel {
    border-color: rgba(245, 158, 11, .35);
    background: rgba(255, 251, 235, .55);
}
.wtech-agent-cleanup-command-row textarea {
    min-height: 86px;
}

/* v1.0.14 agent registration diagnostics */
.wtech-agent-error-text {
  display: inline-block;
  margin-top: 4px;
  color: #b42318;
  font-size: 11px;
}

.wtech-agent-diagnostic-row td {
  background: #fff7ed;
  border-top: 0;
}

.wtech-agent-diagnostic-box {
  border: 1px solid #fed7aa;
  background: #fffaf2;
  border-radius: 10px;
  padding: 12px 14px;
  color: #7c2d12;
  line-height: 1.55;
}

.wtech-agent-diagnostic-box .wtech-muted,
.wtech-agent-diagnostic-box small {
  color: #7c4a23;
}

/* v1.0.16/v1.0.23 agent-based server checks */

.wtech-card-head-balanced {
    align-items: center;
    gap: 12px;
}
.wtech-agent-lastseen-inline {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(148, 163, 184, .30);
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.wtech-agent-target-row {
    display: grid;
    grid-template-columns: minmax(360px, 1.35fr) minmax(300px, .9fr) minmax(210px, .55fr);
    gap: 14px;
    align-items: end;
}
.wtech-agent-target-row .wtech-form-row {
    margin: 0;
}
.wtech-agent-target-row .wtech-input,
.wtech-agent-target-row .wtech-readonly-pill {
    width: 100%;
}
.wtech-readonly-pill-compact {
    justify-content: flex-start;
    white-space: nowrap;
}

.wtech-filter-row {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) minmax(220px, .9fr) minmax(180px, .7fr);
    gap: 14px;
    align-items: end;
}
.wtech-readonly-pill {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 9px 12px;
    border: 1px solid rgba(148, 163, 184, .32);
    border-radius: 9px;
    background: #f8fafc;
    color: #334155;
}
.wtech-check-group {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 12px;
    overflow: hidden;
    margin-top: 12px;
    background: #fff;
}
.wtech-check-group-title {
    padding: 10px 14px;
    background: #f8fafc;
    border-bottom: 1px solid rgba(148, 163, 184, .22);
    font-weight: 650;
    color: #0f172a;
}
.wtech-empty-state {
    border: 1px dashed rgba(148, 163, 184, .5);
    background: #f8fafc;
    color: #64748b;
    border-radius: 12px;
    padding: 18px;
}
@media (max-width: 1100px) {
    
.wtech-card-head-balanced {
    align-items: center;
    gap: 12px;
}
.wtech-agent-lastseen-inline {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(148, 163, 184, .30);
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.wtech-agent-target-row {
        grid-template-columns: 1fr;
    }

.wtech-filter-row {
        grid-template-columns: 1fr;
    }
}


/* v1.0.23 Server Setup target row alignment and pending-job guidance */
.wtech-agent-target-row {
    display: grid;
    grid-template-columns: minmax(360px, 1.35fr) minmax(300px, .9fr) minmax(210px, .55fr);
    gap: 14px;
    align-items: end;
}
.wtech-agent-target-row .wtech-form-row {
    margin: 0;
}
.wtech-agent-target-row label {
    min-height: 18px;
    display: block;
}
.wtech-agent-target-row .wtech-input,
.wtech-agent-target-row .wtech-readonly-pill {
    width: 100%;
    min-height: 42px;
}
.wtech-readonly-pill-compact {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.wtech-empty-state span {
    display: inline-block;
    margin-top: 4px;
    color: #64748b;
}
@media (max-width: 1280px) {
    .wtech-agent-target-row {
        grid-template-columns: 1fr 1fr;
    }
    .wtech-agent-target-row .wtech-form-row:last-child {
        grid-column: 1 / -1;
    }
}
@media (max-width: 820px) {
    .wtech-agent-target-row {
        grid-template-columns: 1fr;
    }
    .wtech-agent-target-row .wtech-form-row:last-child {
        grid-column: auto;
    }
}

/* v1.0.23 Agent Server filter alignment and auto polling notes */
.wtech-agent-filter-grid {
    grid-template-columns: minmax(280px, 1.55fr) minmax(190px, .8fr) minmax(140px, .55fr) auto;
    align-items: end;
}
.wtech-filter-actions-row {
    align-self: end;
}
.wtech-filter-actions-row label {
    display: none;
}
.wtech-filter-actions-row .wtech-filter-actions {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: nowrap;
}
.wtech-filter-actions-row .wtech-btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
@media (max-width: 900px) {
    .wtech-agent-filter-grid {
        grid-template-columns: 1fr;
    }
    .wtech-filter-actions-row .wtech-filter-actions {
        flex-wrap: wrap;
    }
    .wtech-filter-actions-row .wtech-btn {
        width: 100%;
    }
}

/* v1.0.23 Agent Server filter alignment and dedupe view */
.wtech-agent-filter-form .wtech-form-grid.wtech-agent-filter-grid {
    display: grid !important;
    grid-template-columns: minmax(280px, 1fr) minmax(190px, 320px) minmax(140px, 190px) max-content;
    column-gap: 14px;
    row-gap: 10px;
    align-items: end;
}
.wtech-agent-filter-form .wtech-form-row {
    min-width: 0;
}
.wtech-agent-filter-form .wtech-form-row label {
    display: block;
    min-height: 18px;
    margin: 0 0 6px;
    line-height: 18px;
}
.wtech-agent-filter-form .wtech-input {
    min-height: 42px;
}
.wtech-agent-filter-form .wtech-filter-actions-row {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-self: stretch;
}
.wtech-agent-filter-form .wtech-filter-actions-row label {
    visibility: hidden;
    display: block;
}
.wtech-agent-filter-form .wtech-filter-actions {
    display: flex;
    align-items: stretch;
    gap: 8px;
    height: 42px;
    flex-wrap: nowrap;
}
.wtech-agent-filter-form .wtech-filter-actions .wtech-btn {
    min-height: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
.wtech-agent-filter-form .wtech-filter-actions .wtech-btn-primary {
    min-width: 110px;
}
.wtech-agent-filter-form .wtech-filter-actions a.wtech-btn {
    min-width: 70px;
}
@media (max-width: 980px) {
    .wtech-agent-filter-form .wtech-form-grid.wtech-agent-filter-grid {
        grid-template-columns: 1fr;
    }
    .wtech-agent-filter-form .wtech-filter-actions-row label {
        display: none;
    }
    .wtech-agent-filter-form .wtech-filter-actions {
        height: auto;
        flex-wrap: wrap;
    }
    .wtech-agent-filter-form .wtech-filter-actions .wtech-btn {
        width: 100%;
    }
}

/* v1.0.23 hard fix: Agent Server Records filter action column alignment */
.wtech-card .wtech-agent-filter-form {
    padding: 12px 14px !important;
}

.wtech-card .wtech-agent-filter-form .wtech-form-grid.wtech-agent-filter-grid {
    display: grid !important;
    grid-template-columns: minmax(320px, 1fr) minmax(220px, 320px) minmax(120px, 180px) 180px !important;
    column-gap: 14px !important;
    row-gap: 10px !important;
    align-items: end !important;
}

.wtech-card .wtech-agent-filter-form .wtech-form-row {
    min-width: 0 !important;
    margin: 0 !important;
}

.wtech-card .wtech-agent-filter-form .wtech-form-row label {
    display: block !important;
    visibility: visible !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 0 6px !important;
    line-height: 18px !important;
}

.wtech-card .wtech-agent-filter-form .wtech-input,
.wtech-card .wtech-agent-filter-form select.wtech-input {
    height: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
}

.wtech-card .wtech-agent-filter-form .wtech-filter-actions-row {
    display: block !important;
    align-self: end !important;
    justify-self: stretch !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wtech-card .wtech-agent-filter-form .wtech-filter-actions-row label {
    color: #0f1f33 !important;
    user-select: none !important;
}

.wtech-card .wtech-agent-filter-form .wtech-filter-actions {
    display: grid !important;
    grid-template-columns: 1fr 64px !important;
    gap: 8px !important;
    height: 42px !important;
    min-height: 42px !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    flex-wrap: nowrap !important;
}

.wtech-card .wtech-agent-filter-form .wtech-filter-actions .wtech-btn,
.wtech-card .wtech-agent-filter-form .wtech-filter-actions a.wtech-btn,
.wtech-card .wtech-agent-filter-form .wtech-filter-actions button.wtech-btn {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.wtech-card .wtech-agent-filter-form .wtech-filter-actions .wtech-btn-primary {
    min-width: 0 !important;
}

@media (max-width: 1100px) {
    .wtech-card .wtech-agent-filter-form .wtech-form-grid.wtech-agent-filter-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 760px) {
    .wtech-card .wtech-agent-filter-form .wtech-form-grid.wtech-agent-filter-grid {
        grid-template-columns: 1fr !important;
    }
    .wtech-card .wtech-agent-filter-form .wtech-filter-actions {
        grid-template-columns: 1fr !important;
        height: auto !important;
    }
}

/* v1.0.23 Server Setup check history details controls */
.wtech-agent-manual-run {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    border-radius: 12px;
    padding: 12px;
}
.wtech-command-box-small {
    min-height: 42px !important;
    height: 42px !important;
    resize: none;
    overflow: hidden;
}
.wtech-run-context {
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 10px;
    padding: 12px;
    margin-bottom: 12px;
    border: 1px solid #dbe7f3;
    background: #f8fbff;
    border-radius: 12px;
}
.wtech-run-context div {
    min-width: 0;
}
.wtech-run-context span {
    display: block;
    color: #58708f;
    font-size: 12px;
    margin-bottom: 3px;
}
.wtech-run-context strong {
    display: block;
    color: #10243e;
    font-size: 13px;
    overflow-wrap: anywhere;
}
.wtech-check-accordion {
    display: grid;
    gap: 10px;
}
.wtech-check-group-details {
    border: 1px solid #dbe7f3;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.wtech-check-group-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    cursor: pointer;
    background: #f8fafc;
    border-bottom: 1px solid transparent;
    list-style: none;
}
.wtech-check-group-details[open] summary {
    border-bottom-color: #e5edf6;
}
.wtech-check-group-details summary::-webkit-details-marker {
    display: none;
}
.wtech-check-group-name {
    font-weight: 700;
    color: #0f1f33;
}
.wtech-check-group-stats {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.wtech-run-delete-inline {
    margin-top: 12px;
}
.wtech-history-filter-form {
    padding: 12px 14px;
    border: 1px solid #e1e9f2;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 12px;
}
.wtech-history-filter-grid {
    display: grid !important;
    grid-template-columns: minmax(220px, 1.4fr) minmax(140px, .7fr) minmax(140px, .7fr) minmax(140px, .7fr) minmax(110px, .5fr) 180px !important;
    gap: 12px !important;
    align-items: end !important;
}
.wtech-history-filter-form .wtech-form-row {
    margin: 0 !important;
    min-width: 0;
}
.wtech-history-filter-form .wtech-form-row label {
    display: block;
    height: 18px;
    line-height: 18px;
    margin: 0 0 6px;
}
.wtech-history-filter-form .wtech-input,
.wtech-history-filter-form select.wtech-input {
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;
}
.wtech-history-filter-form .wtech-filter-actions {
    display: grid !important;
    grid-template-columns: 1fr 64px !important;
    gap: 8px !important;
    height: 42px !important;
    align-items: stretch !important;
}
.wtech-history-filter-form .wtech-filter-actions .wtech-btn {
    width: 100% !important;
    height: 42px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}
.wtech-run-detail-row > td {
    background: #f8fbff;
}
.wtech-run-detail-panel {
    border: 1px solid #bfdbfe;
    background: #ffffff;
    border-radius: 12px;
    padding: 12px;
}
.wtech-run-detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
@media (max-width: 1200px) {
    .wtech-run-context {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }
    .wtech-history-filter-grid {
        grid-template-columns: 1fr 1fr 1fr !important;
    }
}
@media (max-width: 760px) {
    .wtech-run-context,
    .wtech-history-filter-grid {
        grid-template-columns: 1fr !important;
    }
    .wtech-history-filter-form .wtech-filter-actions {
        grid-template-columns: 1fr !important;
        height: auto !important;
    }
    .wtech-check-group-details summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* v1.0.42 readable long output UI */
.wtech-compact-value {
    max-width: 420px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: middle;
}

.wtech-compact-value.is-summary {
    max-width: 520px;
    color: #1f3d5c;
}

.wtech-output-action-cell {
    width: 150px;
    white-space: nowrap;
}

.wtech-btn-sm {
    min-height: 30px;
    padding: 0 10px;
    font-size: 12px;
}

.wtech-btn-soft {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #0b3a70;
}

.wtech-full-output-row > td {
    background: #fbfdff;
    border-top: 0 !important;
}

.wtech-full-output-panel {
    margin: 8px 0 12px;
    border: 1px solid #d8e7f7;
    border-radius: 12px;
    background: #ffffff;
    padding: 12px;
}

.wtech-full-output-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.wtech-full-output-panel pre {
    margin: 0;
    padding: 12px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f172a;
    white-space: pre-wrap;
    overflow-x: auto;
    font-size: 12px;
    line-height: 1.55;
}

.wtech-plan-command-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wtech-plan-command-card {
    border: 1px solid #dbe7f3;
    border-radius: 12px;
    background: #ffffff;
    padding: 12px;
    min-width: 0;
}

.wtech-plan-command-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.wtech-plan-command-head label {
    margin: 0;
    font-weight: 600;
}

.wtech-plan-command-head .wtech-btn {
    min-height: 32px;
    padding: 0 12px;
    flex: 0 0 auto;
}

.wtech-command-box-compact {
    min-height: 64px;
    max-height: 150px;
    overflow: auto;
    resize: vertical;
}

@media (max-width: 980px) {
    .wtech-plan-command-grid {
        grid-template-columns: 1fr;
    }
    .wtech-compact-value {
        max-width: 100%;
    }
}

/* v1.0.34 Server Setup approval gate and history-only details */
.wtech-approval-box {
    border: 1px solid var(--wtech-border, #d9e2ef);
    border-radius: 12px;
    padding: 14px;
    background: #f8fbff;
    display: grid;
    gap: 10px;
}
.wtech-check-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.45;
    color: #284565;
}
.wtech-check-label input {
    margin-top: 3px;
}
.wtech-run-detail-panel .wtech-check-accordion {
    margin-top: 12px;
}

/* v1.0.34 Server Setup detail recommended actions and bottom approval gate */
.wtech-run-status-action {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    border-radius: 12px;
    padding: 12px 14px;
    color: #1e3a5f;
}
.wtech-run-status-action strong {
    display: block;
    margin-bottom: 4px;
}
.wtech-run-status-action span {
    display: block;
    color: #4b6685;
    line-height: 1.45;
}
.wtech-group-recommended-action {
    margin: 12px 12px 14px;
    padding: 12px;
    border: 1px solid #fde68a;
    background: #fffbeb;
    border-radius: 12px;
}
.wtech-group-action-title {
    font-weight: 700;
    margin-bottom: 8px;
    color: #7c3e00;
}
.wtech-group-recommended-action .wtech-plan-command-card {
    margin-top: 10px;
    background: #fff;
}
.wtech-approval-gate-bottom {
    border-color: #bfdbfe;
}

/* v1.0.34 Server detail compact fix plan UI */
.wtech-fix-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.wtech-fix-summary-card {
    border: 1px solid #d8e3f1;
    border-radius: 12px;
    background: #fff;
    padding: 12px;
}
.wtech-fix-summary-card.needs {
    border-color: #fed7aa;
    background: #fff7ed;
}
.wtech-fix-summary-card.ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.wtech-fix-summary-card .wtech-card-head {
    padding: 0 0 8px;
    border: 0;
    margin: 0;
}
.wtech-fix-summary-card ul {
    margin: 0;
    padding-left: 18px;
    color: #26425f;
    line-height: 1.55;
}
.wtech-recommended-next {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    border-radius: 12px;
    padding: 12px 14px;
}
.wtech-recommended-next strong {
    color: #123255;
    white-space: nowrap;
}
.wtech-recommended-next span {
    flex: 1;
    color: #4b6685;
    line-height: 1.45;
}
.wtech-command-collapsible {
    padding: 0;
    overflow: hidden;
}
.wtech-command-collapsible summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    padding: 12px;
    list-style: none;
}
.wtech-command-collapsible summary::-webkit-details-marker {
    display: none;
}
.wtech-command-collapsible summary span {
    display: grid;
    gap: 2px;
}
.wtech-command-collapsible summary small {
    color: #64748b;
    font-weight: 400;
}
.wtech-command-collapsible summary em {
    color: #0b3a70;
    background: #eef6ff;
    border: 1px solid #cfe2ff;
    border-radius: 999px;
    padding: 5px 10px;
    font-style: normal;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.wtech-command-collapsible[open] summary {
    border-bottom: 1px solid #e5edf7;
    background: #f8fafc;
}
.wtech-command-collapsible .wtech-plan-command-head,
.wtech-command-collapsible .wtech-command-box {
    margin: 12px;
    width: calc(100% - 24px);
}
.wtech-command-collapsible .wtech-plan-command-head {
    margin-bottom: 0;
}
.wtech-final-approval-gate .wtech-approval-box {
    align-items: stretch;
}
.wtech-final-approval-gate .wtech-check-label {
    background: #fff;
    border: 1px solid #dce8f7;
    border-radius: 10px;
    padding: 8px 10px;
}
.wtech-compact-fix-list {
    gap: 6px;
}
@media (max-width: 900px) {
    .wtech-fix-summary-grid,
    .wtech-plan-command-grid {
        grid-template-columns: 1fr;
    }
    .wtech-recommended-next {
        align-items: stretch;
        flex-direction: column;
    }
}

/* v1.0.34 Server Setup install submit guard/status */
.wtech-install-job-status-card {
  border: 1px solid rgba(20, 80, 140, .16);
  border-radius: 14px;
  background: #f8fbff;
  padding: 14px;
}
.wtech-final-approval-gate button[disabled] {
  cursor: not-allowed;
  opacity: .72;
}
.wtech-final-approval-gate code {
  font-size: 12px;
  background: #eef4fb;
  padding: 2px 5px;
  border-radius: 5px;
}

/* v1.0.38 agent update note friendly UI helpers */
.wtech-btn-warning {
  color: #8a4b00;
  background: #fff7ed;
  border-color: #fed7aa;
}
.wtech-btn-warning:hover {
  background: #ffedd5;
}
.wtech-mb {
  margin-bottom: 12px;
}
.wtech-agent-update-section {
  border-color: #bfdbfe;
  background: #f8fbff;
}

/* v1.0.38 friendly agent update note */
.wtech-agent-update-card {
  display: block;
  padding: 12px;
  border: 1px solid #bfdbfe;
  background: #f8fbff;
  border-radius: 12px;
  margin: 6px 0;
}
.wtech-safe-scope-list > .wtech-agent-update-card {
  border-bottom: 1px solid #bfdbfe;
}
.wtech-agent-update-title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.wtech-agent-update-title strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  margin-bottom: 2px;
}
.wtech-agent-update-title span:not(.wtech-agent-update-icon) {
  display: block;
  color: #52627a;
  font-size: 12px;
  line-height: 1.45;
}
.wtech-agent-update-icon {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #dcfce7;
  color: #15803d;
  font-weight: 800;
  font-size: 18px;
  flex: 0 0 auto;
}
.wtech-agent-update-command,
.wtech-agent-version-check {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: start;
}
.wtech-agent-update-command textarea,
.wtech-agent-version-check textarea {
  min-height: 38px;
  resize: vertical;
}
.wtech-agent-update-list {
  margin: 10px 0;
  padding-left: 18px;
  color: #40536f;
  font-size: 12px;
  line-height: 1.55;
}
.wtech-agent-version-check {
  padding-top: 10px;
  border-top: 1px solid #dbeafe;
}
.wtech-agent-version-check > span {
  grid-column: 1 / -1;
  color: #274363;
  font-weight: 700;
  font-size: 12px;
}
@media (max-width: 760px) {
  .wtech-agent-update-command,
  .wtech-agent-version-check {
    grid-template-columns: 1fr;
  }
}

/* v1.0.38 server setup full-row summary and execution scope */
.wtech-summary-scope-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: stretch;
}
.wtech-summary-scope-stack > .wtech-card {
  width: 100%;
}
.wtech-summary-scope-stack .wtech-agent-update-card {
  max-width: none;
}
.wtech-summary-scope-stack .wtech-agent-update-command {
  grid-template-columns: minmax(0, 1fr) auto;
}
.wtech-summary-scope-stack .wtech-agent-update-command textarea,
.wtech-summary-scope-stack .wtech-agent-version-check textarea {
  width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 760px) {
  .wtech-summary-scope-stack .wtech-agent-update-command,
  .wtech-summary-scope-stack .wtech-agent-version-check {
    grid-template-columns: 1fr;
  }
}

/* v1.0.43 prerequisite value/message overlap fix */
.wtech-check-table {
    table-layout: fixed;
}

.wtech-check-table th:nth-child(1),
.wtech-check-table td:nth-child(1) {
    width: 180px;
}

.wtech-check-table th:nth-child(2),
.wtech-check-table td:nth-child(2) {
    width: 120px;
}

.wtech-check-table th:nth-child(3),
.wtech-check-table td:nth-child(3) {
    width: 220px;
    max-width: 220px;
}

.wtech-check-table th:nth-child(5),
.wtech-check-table td:nth-child(5) {
    width: 160px;
}

.wtech-mono-cell {
    overflow: hidden;
    white-space: nowrap;
    overflow-wrap: normal;
}

.wtech-compact-value,
.wtech-compact-value.is-summary {
    display: block;
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wtech-output-action-cell {
    text-align: right;
}

.wtech-full-output-row .wtech-full-output-panel {
    max-width: 100%;
}


/* v1.0.45 collapsible execution scope */
.wtech-execution-scope-details {
  padding: 0;
  overflow: hidden;
}
.wtech-execution-scope-details summary {
  list-style: none;
}
.wtech-execution-scope-details summary::-webkit-details-marker {
  display: none;
}
.wtech-execution-scope-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  cursor: pointer;
  border-radius: 14px;
}
.wtech-execution-scope-summary:hover {
  background: #f8fbff;
}
.wtech-execution-scope-summary > span:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.wtech-execution-scope-summary strong {
  color: #06152e;
}
.wtech-execution-scope-summary small {
  color: #62718a;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wtech-execution-scope-quick {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
.wtech-execution-scope-quick em {
  font-style: normal;
  color: #0a407a;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.wtech-execution-scope-details[open] .wtech-execution-scope-quick em::before {
  content: 'Hide ';
}
.wtech-execution-scope-details:not([open]) .wtech-execution-scope-quick em::before {
  content: '';
}
.wtech-execution-scope-details[open] .wtech-execution-scope-quick em {
  background: #f8fafc;
  border-color: #d8e2ef;
  color: #40536f;
}
.wtech-execution-scope-body {
  padding: 0 20px 20px;
}
.wtech-execution-scope-body .wtech-card-head {
  padding: 14px 0 10px;
}
@media (max-width: 760px) {
  .wtech-execution-scope-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .wtech-execution-scope-quick {
    width: 100%;
    justify-content: space-between;
  }
}

/* v1.0.48 Odoo Development UI validation polish */
.wtech-dev-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 14px 0;
}

.wtech-dev-status-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    min-height: 86px;
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.wtech-dev-status-card > div:last-child {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.wtech-dev-status-card span {
    display: block;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.wtech-dev-status-card strong {
    display: block;
    color: #0f172a;
    font-size: 22px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.wtech-dev-status-card small {
    display: block;
    color: #58708e;
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.wtech-list-lines {
    display: grid;
    gap: 10px;
}

.wtech-list-lines > div {
    display: grid;
    grid-template-columns: minmax(150px, .36fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.wtech-list-lines > div:last-child {
    border-bottom: 0;
}

.wtech-list-lines strong {
    color: #0f172a;
    line-height: 1.35;
}

.wtech-list-lines span {
    color: #58708e;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.wtech-input[type="number"]::-webkit-inner-spin-button,
.wtech-input[type="number"]::-webkit-outer-spin-button {
    opacity: 1;
}

@media (max-width: 1100px) {
    .wtech-dev-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .wtech-dev-status-grid {
        grid-template-columns: 1fr;
    }
    .wtech-list-lines > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* v1.0.51 Odoo Development records compact filter and instance prefix */
.wtech-input-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}
.wtech-input-action .wtech-btn {
    height: 42px;
    white-space: nowrap;
}
.wtech-dev-record-filter-form {
    padding: 12px 14px !important;
}
.wtech-dev-record-filter-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(180px, 240px) minmax(120px, 160px) 220px;
    gap: 12px;
    align-items: end;
}
.wtech-dev-record-filter-grid .wtech-form-field {
    min-width: 0;
}
.wtech-dev-record-filter-grid label {
    display: block;
    min-height: 18px;
    margin: 0 0 6px;
    line-height: 18px;
}
.wtech-dev-record-filter-grid .wtech-input,
.wtech-dev-record-filter-grid select.wtech-input {
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;
}
.wtech-dev-record-filter-grid .wtech-filter-actions {
    display: grid;
    grid-template-columns: 1fr 72px;
    gap: 8px;
    height: 42px;
    align-items: stretch;
}
.wtech-dev-record-filter-grid .wtech-filter-actions .wtech-btn {
    width: 100%;
    height: 42px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
@media (max-width: 1100px) {
    .wtech-dev-record-filter-grid {
        grid-template-columns: 1fr 1fr;
    }
    .wtech-dev-record-filter-grid .wtech-filter-actions {
        grid-column: 1 / -1;
    }
}
@media (max-width: 760px) {
    .wtech-input-action,
    .wtech-dev-record-filter-grid,
    .wtech-dev-record-filter-grid .wtech-filter-actions {
        grid-template-columns: 1fr;
        height: auto;
    }
}

/* v1.0.52 Development record plan label spacing */
.wtech-run-meta {
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 10px;
    padding: 12px;
    margin-bottom: 12px;
    border: 1px solid #dbe7f3;
    background: #f8fbff;
    border-radius: 12px;
}
.wtech-run-meta div {
    min-width: 0;
}
.wtech-run-meta span {
    display: block;
    color: #58708f;
    font-size: 12px;
    margin-bottom: 3px;
}
.wtech-run-meta strong {
    display: block;
    color: #10243e;
    font-size: 13px;
    overflow-wrap: anywhere;
}
@media (max-width: 900px) {
    .wtech-run-meta {
        grid-template-columns: 1fr;
    }
}

/* v1.0.53 Development record action buttons inline + Hide Details URL fix support */
.wtech-dev-records-table .wtech-action-cell {
    width: 180px;
    min-width: 180px;
    white-space: nowrap;
}
.wtech-dev-record-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
}
.wtech-dev-record-actions form {
    display: inline-flex;
    margin: 0;
}
.wtech-dev-record-actions .wtech-btn {
    min-width: 74px;
    justify-content: center;
    white-space: nowrap;
}
@media (max-width: 760px) {
    .wtech-dev-records-table .wtech-action-cell {
        min-width: 160px;
    }
    .wtech-dev-record-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* v1.0.54 Development remove redundant install plan section - no additional CSS required */

/* v1.0.55 Development record full plan + masked credentials */
.wtech-dev-plan-section {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #dbe7f3;
    border-radius: 14px;
    background: #fff;
}
.wtech-dev-plan-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.wtech-dev-plan-title strong {
    color: #10243e;
}
.wtech-dev-plan-title span {
    color: #64748b;
    font-size: 12px;
    text-align: right;
}
.wtech-credential-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    background: #f8fbff;
}
.wtech-credential-card > div {
    display: grid;
    gap: 4px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.wtech-credential-card > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}
.wtech-credential-card span,
.wtech-credential-card small {
    color: #64748b;
    font-size: 12px;
}
.wtech-credential-card strong {
    color: #10243e;
    overflow-wrap: anywhere;
}
@media (max-width: 760px) {
    .wtech-dev-plan-title {
        align-items: flex-start;
        flex-direction: column;
    }
    .wtech-dev-plan-title span {
        text-align: left;
    }
}

/* v1.0.57 Development record manual install/revert command sections */
.wtech-install-execution-section {
    background: #fbfdff;
}
.wtech-manual-command-card summary small {
    color: #64748b;
}
.wtech-manual-command-head {
    align-items: center;
    gap: 12px;
}
.wtech-command-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
.wtech-command-warning {
    margin: 10px 0;
    padding: 10px 12px;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 12px;
    line-height: 1.45;
}
.wtech-command-box-manual {
    min-height: 360px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    line-height: 1.45;
}
@media (max-width: 760px) {
    .wtech-manual-command-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .wtech-command-actions {
        justify-content: flex-start;
        width: 100%;
    }
    .wtech-command-actions .wtech-btn {
        flex: 1 1 auto;
    }
}

/* v1.0.57 Development record danger zone */
.wtech-danger-zone {
    border-color: #fecaca;
    background: #fffafa;
}
.wtech-danger-zone .wtech-dev-plan-title strong {
    color: #991b1b;
}
.wtech-danger-zone .wtech-card-soft {
    border-color: #fecaca;
    background: #fff7f7;
}
.wtech-danger-zone .wtech-command-warning {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

/* v1.0.62 Revert script quote and verification fixes */
/* v1.0.64 Manual script prefix folder path support */
.wtech-command-run-instructions {
    margin: 10px 0;
    padding: 12px 14px;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 12px;
    line-height: 1.45;
}
.wtech-command-run-instructions strong {
    display: block;
    margin-bottom: 6px;
    color: #10243e;
}
.wtech-command-run-instructions ol {
    margin: 0 0 8px 18px;
    padding: 0;
}
.wtech-command-run-instructions li {
    margin: 2px 0;
}
.wtech-command-run-instructions code {
    padding: 1px 4px;
    border-radius: 5px;
    background: rgba(255,255,255,.8);
    color: #0f172a;
}
.wtech-command-run-instructions pre {
    margin: 8px 0 0;
    padding: 10px 12px;
    border: 1px solid rgba(30, 58, 138, .18);
    border-radius: 10px;
    background: rgba(255,255,255,.88);
    color: #0f172a;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    line-height: 1.45;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.wtech-manual-status-cleanup form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* v1.0.70 Development record full plan header + password visibility polish */
.wtech-record-plan-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    margin-bottom: 14px;
    border: 1px solid #bfdbfe;
    border-radius: 16px;
    background: linear-gradient(135deg, #eff6ff 0%, #f8fbff 100%);
}
.wtech-record-plan-eyebrow {
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}
.wtech-record-plan-hero h3 {
    margin: 0;
    color: #0f172a;
    font-size: 20px;
    line-height: 1.25;
}
.wtech-record-plan-hero p {
    margin: 6px 0 0;
    color: #475569;
    font-size: 13px;
    overflow-wrap: anywhere;
}
.wtech-record-plan-status {
    flex: 0 0 auto;
}
.wtech-run-meta-record-plan {
    border-color: #bfdbfe;
}
.wtech-password-handling-section {
    border-color: #bfdbfe;
    background: #fbfdff;
}
.wtech-password-focus-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid rgba(37, 99, 235, .22);
    border-radius: 14px;
    background: #eff6ff;
}
.wtech-password-focus-row span,
.wtech-password-focus-row small {
    display: block;
    color: #64748b;
    font-size: 12px;
}
.wtech-password-focus-row strong {
    display: block;
    color: #0f172a;
    font-size: 18px;
    margin: 3px 0;
}
.wtech-secret-mask {
    letter-spacing: .12em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
.wtech-secret-save-form {
    display: grid;
    gap: 8px;
}
.wtech-secret-save-form label {
    color: #0f172a;
    font-weight: 700;
    font-size: 13px;
}
@media (max-width: 760px) {
    .wtech-record-plan-hero,
    .wtech-password-focus-row {
        flex-direction: column;
        align-items: stretch;
    }
}

/* v1.0.71-v1.0.72 master password save UI polish + Nginx/SSL command section */
.wtech-secret-save-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid rgba(37, 99, 235, .16);
    border-radius: 12px;
    background: #fff;
}
.wtech-secret-save-form .wtech-input {
    width: 100%;
    min-height: 42px;
}
.wtech-secret-save-form .wtech-btn {
    width: 100%;
    justify-content: center;
    min-height: 40px;
}
.wtech-secret-save-form small {
    display: block;
    color: #64748b;
    line-height: 1.4;
}
.wtech-nginx-ssl-section {
    border-color: rgba(37, 99, 235, .18);
    background: #fbfdff;
}

/* v1.0.74 Development execution options numbered sections - mini nav removed */
.wtech-execution-overview-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.wtech-execution-overview-card {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid #dbe7f3;
    border-radius: 12px;
    background: #fff;
}
.wtech-execution-overview-card span,
.wtech-execution-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #0b3a6f;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
}
.wtech-execution-overview-card strong {
    color: #10243e;
    font-size: 13px;
}
.wtech-execution-overview-card em {
    color: #64748b;
    font-size: 12px;
    font-style: normal;
}
.wtech-execution-overview-danger {
    border-color: #fecaca;
    background: #fff7f7;
}
.wtech-execution-overview-danger span,
.wtech-execution-step-danger .wtech-execution-step-number {
    background: #991b1b;
}
.wtech-execution-step {
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #dbe7f3;
    border-radius: 14px;
    background: #fff;
}
.wtech-execution-step-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}
.wtech-execution-step-head > div {
    flex: 1 1 auto;
    display: grid;
    gap: 3px;
}
.wtech-execution-step-head strong {
    color: #10243e;
    font-size: 15px;
}
.wtech-execution-step-head small {
    color: #64748b;
    line-height: 1.4;
}
.wtech-step-badge {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    background: #eef2ff;
    color: #3730a3;
}
.wtech-step-required { background: #dcfce7; color: #166534; }
.wtech-step-after { background: #dbeafe; color: #1d4ed8; }
.wtech-step-optional { background: #f1f5f9; color: #334155; }
.wtech-step-danger { background: #fee2e2; color: #991b1b; }
.wtech-step-preview { background: #fef3c7; color: #92400e; }
.wtech-execution-step-danger {
    border-color: #fecaca;
    background: #fffafa;
}
.wtech-execution-step .wtech-command-collapsible {
    margin-top: 8px;
}
@media (max-width: 1100px) {
    .wtech-execution-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .wtech-execution-overview-grid { grid-template-columns: 1fr; }
    .wtech-execution-step-head { flex-direction: column; }
    .wtech-step-badge { align-self: flex-start; }
}

/* v1.0.75 clickable Development domain links */
.wtech-domain-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #0f3d75;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.wtech-domain-link:hover {
    color: #0b5ed7;
    text-decoration: underline;
}
.wtech-domain-link svg {
    flex: 0 0 auto;
    opacity: .78;
}
.wtech-record-plan-hero .wtech-domain-link {
    font-weight: 700;
}

/* v1.0.76 Development create-record button emphasis */
.wtech-dev-create-record-card {
    border-color: rgba(37, 99, 235, .24);
    background: linear-gradient(180deg, rgba(239, 246, 255, .92), #fff);
}

.wtech-dev-create-lock-note {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(37, 99, 235, .16);
    border-radius: 10px;
    background: rgba(37, 99, 235, .06);
    color: #334155;
    font-size: 13px;
    line-height: 1.45;
}

.wtech-dev-create-record-btn {
    min-height: 44px;
    padding-inline: 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .12);
}

.wtech-dev-create-record-btn svg {
    margin-right: 8px;
}

.wtech-dev-create-record-btn:disabled {
    box-shadow: none;
}

/* v1.0.77 Development source installer top + recalculate label */
.wtech-dev-config-form > .wtech-card-soft { margin-bottom: 14px; }

/* v1.0.78 Development installed record compact actions */
.wtech-dev-create-plan-details {
    padding: 0;
    overflow: hidden;
}
.wtech-dev-create-plan-details > summary {
    list-style: none;
}
.wtech-dev-create-plan-details > summary::-webkit-details-marker {
    display: none;
}
.wtech-dev-create-plan-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    cursor: pointer;
    border-bottom: 1px solid transparent;
}
.wtech-dev-create-plan-summary:hover {
    background: #f8fbff;
}
.wtech-dev-create-plan-summary span {
    display: grid;
    gap: 3px;
}
.wtech-dev-create-plan-summary strong {
    color: #10243e;
    font-size: 15px;
}
.wtech-dev-create-plan-summary small,
.wtech-dev-create-plan-summary em {
    color: #64748b;
    font-size: 12px;
    font-style: normal;
}
.wtech-dev-create-plan-summary em {
    padding: 5px 9px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
}
.wtech-dev-create-plan-details[open] .wtech-dev-create-plan-summary {
    border-bottom-color: #dbe7f3;
}
.wtech-dev-create-plan-body {
    padding: 16px;
}
.wtech-record-quick-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 12px 0;
}
.wtech-record-quick-actions .wtech-btn svg {
    margin-right: 6px;
}
.wtech-record-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 10px;
    margin: 12px 0 14px;
}
.wtech-record-status-chip {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid #dbe7f3;
    border-radius: 12px;
    background: #fff;
}
.wtech-record-status-chip span {
    color: #64748b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-weight: 700;
}
.wtech-record-status-chip strong {
    color: #10243e;
    font-size: 13px;
}
.wtech-record-status-chip.is-ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.wtech-record-status-chip.is-ok strong {
    color: #166534;
}

.wtech-record-status-chip.is-warn {
    border-color: #fed7aa;
    background: #fff7ed;
}
.wtech-record-status-chip.is-warn strong {
    color: #9a3412;
}
.wtech-record-status-chip.is-danger {
    border-color: #fecaca;
    background: #fef2f2;
}
.wtech-record-status-chip.is-danger strong {
    color: #991b1b;
}
.wtech-record-status-chip.is-muted {
    border-color: #e2e8f0;
    background: #f8fafc;
}
.wtech-record-status-chip.is-muted strong {
    color: #475569;
}
.wtech-step-completed {
    background: #dcfce7;
    color: #166534;
}
@media (max-width: 1100px) {
    .wtech-record-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .wtech-dev-create-plan-summary { align-items: flex-start; flex-direction: column; }
    .wtech-record-status-grid { grid-template-columns: 1fr; }
    .wtech-record-quick-actions .wtech-btn { flex: 1 1 auto; justify-content: center; }
}

/* v1.0.79 Development domain health check buttons */
.wtech-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.wtech-domain-health-panel {
    border-color: #bfdbfe;
    background: #f8fbff;
}
.wtech-domain-health-panel .wtech-plan-command-card {
    background: #fff;
}
@media (max-width: 1100px) {
    .wtech-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .wtech-grid-3 { grid-template-columns: 1fr; }
}

/* v1.0.86 Development database confirmation and delete safety */
.wtech-copy-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    flex-wrap: wrap;
}
.wtech-copy-row code {
    display: inline-block;
    padding: 8px 10px;
    border: 1px solid #dbe7f3;
    border-radius: 8px;
    background: #f8fafc;
    color: #10243e;
    font-size: 13px;
}
.wtech-inline-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 10px;
    align-items: center;
}
@media (max-width: 760px) {
    .wtech-inline-form { grid-template-columns: 1fr; }
}

/* v1.0.91 Production record action row + manual command sections */
.wtech-prod-records-table .wtech-action-cell {
    width: 176px;
    min-width: 176px;
    white-space: nowrap;
}
.wtech-prod-record-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
}
.wtech-prod-record-actions form {
    display: inline-flex;
    margin: 0;
}
.wtech-prod-record-actions .wtech-btn {
    min-width: 72px;
    justify-content: center;
    white-space: nowrap;
}
.wtech-prod-command-note {
    margin-top: 10px;
}
@media (max-width: 760px) {
    .wtech-prod-records-table .wtech-action-cell {
        min-width: 160px;
    }
    .wtech-prod-record-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}


/* v1.0.92 Production detail label/value spacing */
.wtech-plan-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
}
.wtech-plan-grid > div {
    display: grid;
    grid-template-columns: minmax(150px, max-content) minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    min-width: 0;
    padding: 9px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.wtech-plan-grid > div strong {
    color: #10243e;
    white-space: normal;
}
.wtech-plan-grid > div strong::after {
    content: ":";
}
.wtech-plan-grid > div span {
    min-width: 0;
    color: #52627a;
    overflow-wrap: anywhere;
    word-break: break-word;
}
@media (max-width: 1000px) {
    .wtech-plan-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 620px) {
    .wtech-plan-grid > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}


/* v1.0.98 Development/Production record action and selected-header parity */
.wtech-dev-records-table .wtech-action-cell,
.wtech-prod-records-table .wtech-action-cell {
    width: 270px;
    min-width: 270px;
}
.wtech-dev-record-actions,
.wtech-prod-record-actions {
    gap: 8px;
    flex-wrap: nowrap;
}
.wtech-prod-record-actions .wtech-btn[disabled] {
    opacity: .52;
    cursor: not-allowed;
}
.wtech-record-plan-hero .wtech-domain-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
@media (max-width: 760px) {
    .wtech-dev-records-table .wtech-action-cell,
    .wtech-prod-records-table .wtech-action-cell {
        min-width: 190px;
    }
    .wtech-dev-record-actions,
    .wtech-prod-record-actions {
        flex-wrap: wrap;
    }
}


/* v1.0.99 Production health-check parity and Development password update */
