* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #0f141a;
    color: #e8edf2;
}


/* Sidebar */

.sidebar {
    position: fixed;
    width: 230px;
    height: 100vh;

    background: #161d25;

    border-right: 1px solid #26313c;

    padding: 24px 18px;
}


.logo {
    font-size: 22px;
    font-weight: bold;

    margin-bottom: 40px;
}

.logo span {
    display: block;

    margin-top: 4px;

    font-size: 12px;
    font-weight: normal;

    color: #8391a1;
}


nav a {
    display: block;

    text-decoration: none;
    color: #aab4bf;

    padding: 12px 14px;
    margin-bottom: 6px;

    border-radius: 6px;
}


nav a:hover {
    background: #202a35;
    color: white;
}


nav a.active {
    background: #273442;
    color: white;
}


/* Main Content */

main {
    margin-left: 230px;
    padding: 30px;
}


header {
    display: flex;

    justify-content: space-between;
    align-items: center;

    margin-bottom: 30px;
}


header h1 {
    margin: 0;
    font-size: 28px;
}


header p {
    color: #8794a1;

    margin-top: 6px;
}


.user {
    background: #1b242d;

    border: 1px solid #2a3642;

    padding: 10px 16px;

    border-radius: 6px;
}


/* Dashboard Cards */

.stats {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;

    margin-bottom: 28px;
}


.card {
    background: #171f27;

    border: 1px solid #27323d;

    border-radius: 8px;

    padding: 20px;
}


.card-label {
    color: #8d99a5;

    font-size: 13px;

    margin-bottom: 8px;
}


.card-number {
    font-size: 32px;

    font-weight: bold;
}


.healthy {
    color: #42d392;
}


.failure {
    color: #ff616e;
}


/* Main Panel */

.panel {
    background: #171f27;

    border: 1px solid #27323d;

    border-radius: 8px;

    overflow: hidden;
}


.panel-header {
    padding: 20px;

    display: flex;

    justify-content: space-between;
    align-items: center;

    border-bottom: 1px solid #27323d;
}


.panel-header h2 {
    margin: 0;

    font-size: 18px;
}


.panel-header span {
    color: #8996a3;

    font-size: 13px;
}


/* Table */

table {
    width: 100%;

    border-collapse: collapse;
}


th,
td {
    text-align: left;

    padding: 15px 18px;

    border-bottom: 1px solid #222c35;
}


th {
    color: #8996a3;

    font-size: 12px;

    text-transform: uppercase;
}


tbody tr:hover {
    background: #1b252e;
}


/* Status Badges */

.status {
    display: inline-block;

    border-radius: 5px;

    padding: 5px 9px;

    font-size: 12px;

    font-weight: bold;
}


.status.success {
    color: #42d392;

    background: rgba(66, 211, 146, .12);
}


.status.failure {
    color: #ff616e;

    background: rgba(255, 97, 110, .12);
}


.status.warning {
    color: #f5c451;

    background: rgba(245, 196, 81, .12);
}


.status.pending {
    color: #9aa6b2;

    background: rgba(154, 166, 178, .12);
}


/* Buttons */

button {
    background: #273442;

    color: white;

    border: 1px solid #354554;

    border-radius: 5px;

    padding: 7px 13px;

    cursor: pointer;
}


button:hover {
    background: #334353;
}


/* Mobile-ish */

@media (max-width: 900px) {

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

}
.company-form {
    padding: 20px;
    border-bottom: 1px solid #27323d;
}

.company-form form {
    display: flex;
    gap: 10px;
}

.company-form input,
.company-form select {
    background: #111820;
    color: #e8edf2;

    border: 1px solid #354554;
    border-radius: 5px;

    padding: 10px 12px;

    font-size: 14px;
}

.company-form input {
    flex: 1;
}

.company-form input:focus,
.company-form select:focus {
    outline: none;
    border-color: #5d7185;
}
.work-queue {
    display: flex;
    flex-direction: column;
}

.work-item {
    display: grid;
    grid-template-columns: 1fr 160px 260px;
    align-items: center;
    gap: 20px;

    padding: 18px 20px;

    border-bottom: 1px solid #27323d;
}

.work-item:hover {
    background: #1b252e;
}

.work-company {
    font-size: 16px;
    font-weight: bold;
}

.work-job {
    margin-top: 5px;
    color: #c1cad3;
}

.work-type {
    margin-top: 4px;
    color: #7f8c99;
    font-size: 12px;
}

.status-actions {
    display: flex;
    gap: 7px;
}

.status-button {
    min-width: 50px;
    padding: 9px 12px;
    font-weight: bold;
}

.success-button:hover {
    border-color: #42d392;
}

.warning-button:hover {
    border-color: #f5c451;
}

.nf-button:hover {
    border-color: #6da8ff;
}

.failure-button:hover {
    border-color: #ff616e;
}

.empty-state {
    padding: 40px;
    text-align: center;
    color: #8996a3;
}
.progress-container {
    margin-bottom: 24px;
}

.progress-header {
    display: flex;
    justify-content: space-between;

    margin-bottom: 8px;

    color: #9aa6b2;
    font-size: 13px;
}

.progress-track {
    width: 100%;
    height: 10px;

    background: #1b242d;

    border: 1px solid #27323d;
    border-radius: 10px;

    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: var(--progress);

    background: #42d392;

    transition: width 0.2s ease;
}
.date-navigation {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;

    margin-bottom: 24px;
}

.date-navigation > :last-child {
    justify-self: end;
}

.date-nav-center {
    text-align: center;
}

.date-nav-button {
    display: inline-block;

    padding: 8px 12px;

    color: #c1cad3;
    text-decoration: none;

    background: #171f27;

    border: 1px solid #27323d;
    border-radius: 6px;
}

.date-nav-button:hover {
    background: #202a35;
    color: white;
}

.date-nav-button.disabled {
    opacity: 0.35;
    cursor: default;
}

.today-label {
    color: #42d392;
    font-weight: bold;
}
.dashboard-header {
    gap: 20px;
}

.primary-action,
.secondary-action,
.panel-link {
    text-decoration: none;
}

.primary-action {
    display: inline-block;

    padding: 10px 16px;

    background: #273442;
    color: white;

    border: 1px solid #354554;
    border-radius: 6px;

    font-weight: bold;
}

.primary-action:hover {
    background: #334353;
}

.secondary-action {
    display: inline-block;

    padding: 9px 14px;

    color: #c1cad3;

    border: 1px solid #354554;
    border-radius: 6px;
}

.secondary-action:hover {
    background: #202a35;
    color: white;
}

.dashboard-hero {
    margin-bottom: 28px;

    padding: 28px;

    background: #171f27;

    border: 1px solid #27323d;
    border-radius: 8px;
}

.dashboard-hero-content {
    max-width: 720px;
}

.hero-eyebrow {
    margin-bottom: 8px;

    color: #8391a1;

    font-size: 12px;
    font-weight: bold;

    letter-spacing: 0.08em;
}

.dashboard-hero h2 {
    margin: 0 0 8px;

    font-size: 26px;
}

.dashboard-hero p {
    margin: 0;

    color: #8996a3;
}

.dashboard-progress {
    margin-top: 24px;
}

.dashboard-grid {
    display: grid;

    grid-template-columns: 2fr 1fr;

    gap: 18px;

    margin-bottom: 28px;
}

.dashboard-operation {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 20px;

    padding: 22px;
}

.operation-title {
    margin-bottom: 6px;

    font-size: 16px;
    font-weight: bold;
}

.operation-description {
    color: #8996a3;
    font-size: 13px;
}

.operation-metrics {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    gap: 6px;

    color: #aab4bf;
    font-size: 13px;
}

.attention-text {
    color: #ff616e;
}

.attention-summary {
    padding: 22px;
}

.attention-number {
    margin-bottom: 4px;

    color: #ff616e;

    font-size: 36px;
    font-weight: bold;
}

.attention-detail {
    margin-top: 10px;

    color: #8996a3;

    font-size: 13px;
}

.healthy-state {
    color: #42d392;
}

.panel-link {
    color: #aab4bf;
    font-size: 13px;
}

.panel-link:hover {
    color: white;
}

.dashboard-companies {
    margin-bottom: 28px;
}

.dashboard-company-summary {
    display: flex;

    justify-content: space-between;
    align-items: center;

    padding: 22px;
}

.summary-number {
    font-size: 30px;
    font-weight: bold;
}

.summary-label {
    margin-top: 4px;

    color: #8996a3;
    font-size: 13px;
}

@media (max-width: 900px) {

    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-operation {
        align-items: flex-start;
        flex-direction: column;
    }

    .operation-metrics {
        align-items: flex-start;
    }
}
.hidden {
    display: none !important;
}


.modal-overlay {
    position: fixed;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, 0.65);

    z-index: 1000;
}


.modal-card {
    width: min(440px, 90vw);

    padding: 24px;

    background: #171f27;

    border: 1px solid #354554;
    border-radius: 10px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}


.modal-card h2 {
    margin-top: 0;
}


.modal-card p {
    color: #aab4bf;
    line-height: 1.5;
}


.modal-actions {
    display: flex;
    justify-content: flex-end;

    gap: 10px;

    margin-top: 24px;
}


.toast {
    position: fixed;

    right: 24px;
    bottom: 24px;

    padding: 12px 16px;

    background: #171f27;

    border: 1px solid #354554;
    border-radius: 8px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.35);

    z-index: 1100;

    animation: toast-in 0.2s ease;
}


.toast.success {
    color: #42d392;
    border-color: #2d6b52;
}


.toast.error {
    color: #ff616e;
    border-color: #6b3038;
}


@keyframes toast-in {

    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}
.company-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.delete-button {
    color: #ff616e;
    border-color: #6b3038;
}

.delete-button:hover {
    background: #442229;
    border-color: #ff616e;
}
/* Customer Management */

.customer-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 18px 20px;

    border-bottom: 1px solid #27323d;
}


.customer-search {
    flex: 1;
    max-width: 520px;
}


.customer-search input {
    width: 100%;

    padding: 11px 14px;

    background: #111820;
    color: #e8edf2;

    border: 1px solid #354554;
    border-radius: 6px;

    font-size: 14px;
}


.customer-search input:focus {
    outline: none;
    border-color: #5d7185;
}


.customer-count {
    color: #8996a3;
    font-size: 13px;
}


.customer-name {
    font-weight: bold;
}


.muted {
    color: #7f8c99;
}


.company-actions {
    display: flex;
    align-items: center;

    gap: 8px;
}


.delete-button {
    color: #ff616e;

    border-color: #6b3038;
}


.delete-button:hover {
    background: #442229;
    border-color: #ff616e;
}


.warning-button:hover {
    border-color: #f5c451;
}


.modal-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 22px;
}


.modal-heading h2 {
    margin: 0 0 6px;
}


.modal-heading p {
    margin: 0;

    color: #8996a3;
}


.modal-close-button {
    padding: 2px 8px;

    border: none;
    background: transparent;

    color: #8996a3;

    font-size: 24px;
}


.modal-close-button:hover {
    background: transparent;
    color: white;
}


.customer-modal {
    width: min(520px, 90vw);
}


.form-group {
    margin-bottom: 18px;
}


.form-group label {
    display: block;

    margin-bottom: 7px;

    color: #c1cad3;

    font-size: 13px;
    font-weight: bold;
}


.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;

    padding: 10px 12px;

    background: #111820;
    color: #e8edf2;

    border: 1px solid #354554;
    border-radius: 6px;

    font-size: 14px;
}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #5d7185;
}


.form-help {
    margin-top: 6px;

    color: #7f8c99;

    font-size: 12px;
}


.checkbox-row {
    display: flex;
    align-items: center;

    gap: 9px;

    color: #c1cad3;

    font-size: 14px;

    cursor: pointer;
}


.checkbox-row input {
    width: auto;
}


@media (max-width: 700px) {

    .customer-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .customer-search {
        max-width: none;
    }

    .company-actions {
        align-items: flex-start;
        flex-direction: column;
    }

}
/* Backup Operations Management */

.backup-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 18px 20px;

    border-bottom: 1px solid #27323d;
}


.backup-search {
    flex: 1;
    max-width: 520px;
}


.backup-search input {
    width: 100%;

    padding: 11px 14px;

    background: #111820;
    color: #e8edf2;

    border: 1px solid #354554;
    border-radius: 6px;

    font-size: 14px;
}


.backup-search input:focus {
    outline: none;
    border-color: #5d7185;
}


.backup-count {
    color: #8996a3;
    font-size: 13px;
}


.backup-customer {
    font-weight: bold;
}


.backup-job-name {
    color: #c1cad3;
}


.backup-actions {
    display: flex;
    align-items: center;

    gap: 8px;
}


.backup-modal {
    width: min(520px, 90vw);
}


@media (max-width: 700px) {

    .backup-toolbar {
        align-items: stretch;
        flex-direction: column;
    }


    .backup-search {
        max-width: none;
    }


    .backup-actions {
        align-items: flex-start;
        flex-direction: column;
    }

}
/* Backup Check Notes */

.work-note {
    margin-top: 10px;

    max-width: 620px;

    padding: 9px 11px;

    background: #111820;

    border-left: 3px solid #5d7185;
    border-radius: 4px;

    color: #aab4bf;

    font-size: 12px;
    line-height: 1.5;
}


.work-note span {
    color: #e8edf2;
    font-weight: bold;
}


.status-note-modal {
    width: min(560px, 90vw);
}


.status-note-context {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 22px;

    padding: 14px;

    background: #111820;

    border: 1px solid #27323d;
    border-radius: 6px;
}


.status-note-context > div {
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.status-note-label {
    color: #7f8c99;

    font-size: 11px;
    text-transform: uppercase;
}


.status-note-context strong {
    color: #e8edf2;

    font-size: 14px;
}


.form-group textarea {
    resize: vertical;

    min-height: 110px;
}


@media (max-width: 700px) {

    .status-note-context {
        grid-template-columns: 1fr;
    }

}
/* Activity Log */

.activity-filter-container {
    padding: 20px;

    border-bottom: 1px solid #27323d;
}


.activity-filters {
    display: grid;

    grid-template-columns:
        minmax(220px, 2fr)
        minmax(160px, 1fr)
        minmax(150px, 1fr)
        minmax(145px, 1fr)
        minmax(145px, 1fr)
        auto;

    gap: 12px;

    align-items: end;
}


.activity-search,
.activity-filter {
    display: flex;
    flex-direction: column;

    gap: 6px;
}


.activity-search label,
.activity-filter label {
    color: #8996a3;

    font-size: 11px;
    font-weight: bold;

    text-transform: uppercase;
}


.activity-search input,
.activity-filter input,
.activity-filter select {
    width: 100%;

    min-height: 40px;

    padding: 9px 11px;

    background: #111820;
    color: #e8edf2;

    border: 1px solid #354554;
    border-radius: 6px;

    font-size: 13px;
}


.activity-search input:focus,
.activity-filter input:focus,
.activity-filter select:focus {
    outline: none;

    border-color: #5d7185;
}


.activity-filter-actions {
    display: flex;

    gap: 8px;
}


.activity-filter-actions .primary-action,
.activity-filter-actions .secondary-action {
    min-height: 40px;

    display: inline-flex;

    align-items: center;
    justify-content: center;
}


.activity-list {
    display: flex;
    flex-direction: column;
}


.activity-event {
    display: grid;

    grid-template-columns: 150px 1fr;

    gap: 22px;

    padding: 20px;

    border-bottom: 1px solid #27323d;
}


.activity-event:last-child {
    border-bottom: none;
}


.activity-event:hover {
    background: #1b252e;
}


.activity-event-time {
    padding-top: 2px;
}


.activity-date {
    color: #c1cad3;

    font-size: 13px;
    font-weight: bold;
}


.activity-time {
    margin-top: 4px;

    color: #7f8c99;

    font-size: 12px;
}


.activity-event-main {
    min-width: 0;
}


.activity-event-header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;
}


.activity-company {
    font-size: 16px;
    font-weight: bold;
}


.activity-job {
    margin-top: 4px;

    color: #aab4bf;

    font-size: 13px;
}


.activity-status-change {
    display: flex;

    align-items: center;

    gap: 8px;

    flex-shrink: 0;
}


.activity-arrow {
    color: #6f7d8a;

    font-weight: bold;
}


.activity-meta {
    display: flex;
    flex-wrap: wrap;

    gap: 8px 22px;

    margin-top: 14px;

    color: #7f8c99;

    font-size: 12px;
}


.activity-meta strong {
    color: #aab4bf;

    font-weight: normal;
}


.activity-note {
    margin-top: 15px;

    padding: 12px 14px;

    background: #111820;

    border: 1px solid #27323d;
    border-left: 3px solid #5d7185;

    border-radius: 5px;
}


.activity-note-label {
    margin-bottom: 5px;

    color: #8996a3;

    font-size: 10px;
    font-weight: bold;

    letter-spacing: 0.06em;
    text-transform: uppercase;
}


.activity-note-text {
    color: #c1cad3;

    font-size: 13px;
    line-height: 1.5;

    white-space: pre-wrap;
}


@media (max-width: 1100px) {

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


    .activity-filter-actions {
        grid-column: span 2;
    }

}


@media (max-width: 700px) {

    .activity-filters {
        grid-template-columns: 1fr;
    }


    .activity-filter-actions {
        grid-column: auto;
    }


    .activity-event {
        grid-template-columns: 1fr;
    }


    .activity-event-header {
        flex-direction: column;
    }

}
/* Notification Outbox */

.notification-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    margin-bottom: 20px;
}


.notification-summary-card {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 18px 20px;

    background: #182129;

    border: 1px solid #27323d;
    border-radius: 7px;
}


.notification-summary-card span {
    color: #8996a3;

    font-size: 12px;
    font-weight: bold;

    text-transform: uppercase;
}


.notification-summary-card strong {
    font-size: 24px;
}


.notification-filters {
    display: grid;

    grid-template-columns:
        minmax(220px, 2fr)
        minmax(170px, 1fr)
        minmax(150px, 1fr)
        minmax(145px, 1fr)
        minmax(145px, 1fr)
        auto;

    gap: 12px;

    align-items: end;
}


.notification-list {
    display: flex;
    flex-direction: column;
}


.notification-item {
    padding: 20px;

    border-bottom: 1px solid #27323d;
}


.notification-item:last-child {
    border-bottom: none;
}


.notification-item:hover {
    background: #1b252e;
}


.notification-header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;
}


.notification-type {
    color: #8996a3;

    font-size: 11px;
    font-weight: bold;

    letter-spacing: 0.05em;
    text-transform: uppercase;
}


.notification-subject {
    margin-top: 5px;

    color: #e8edf2;

    font-size: 15px;
    font-weight: bold;
}


.notification-meta,
.notification-delivery {
    display: flex;
    flex-wrap: wrap;

    gap: 8px 22px;

    margin-top: 14px;

    color: #7f8c99;

    font-size: 12px;
}


.notification-meta strong,
.notification-delivery strong {
    color: #aab4bf;

    font-weight: normal;
}


.notification-error {
    margin-top: 15px;

    padding: 12px 14px;

    background: #111820;

    border: 1px solid #27323d;
    border-left: 3px solid #a84f4f;

    border-radius: 5px;

    color: #c1cad3;

    font-size: 13px;
}


.notification-error strong {
    display: block;

    margin-bottom: 5px;

    color: #d57b7b;

    font-size: 10px;

    letter-spacing: 0.05em;
    text-transform: uppercase;
}


@media (max-width: 1100px) {

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

}


@media (max-width: 700px) {

    .notification-summary {
        grid-template-columns: 1fr;
    }


    .notification-filters {
        grid-template-columns: 1fr;
    }


    .notification-header {
        flex-direction: column;
    }

}
/* Reports */

.report-filter-container {
    padding: 20px;
}


.report-filters {
    display: grid;

    grid-template-columns:
        minmax(145px, 1fr)
        minmax(145px, 1fr)
        minmax(200px, 1.4fr)
        minmax(160px, 1fr)
        auto;

    gap: 12px;

    align-items: end;
}


.report-filter {
    display: flex;
    flex-direction: column;

    gap: 6px;
}


.report-filter label {
    color: #8996a3;

    font-size: 11px;
    font-weight: bold;

    text-transform: uppercase;
}


.report-filter input,
.report-filter select {
    width: 100%;

    min-height: 40px;

    padding: 9px 11px;

    background: #111820;
    color: #e8edf2;

    border: 1px solid #354554;
    border-radius: 6px;

    font-size: 13px;
}


.report-filter input:focus,
.report-filter select:focus {
    outline: none;

    border-color: #5d7185;
}


.report-filter-actions {
    display: flex;

    gap: 8px;
}


.report-filter-actions a,
.report-filter-actions button {
    min-height: 40px;

    display: inline-flex;

    align-items: center;
    justify-content: center;
}


.report-summary {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 14px;

    margin: 20px 0;
}


.report-summary-card {
    padding: 18px 20px;

    background: #182129;

    border: 1px solid #27323d;
    border-radius: 7px;
}


.report-summary-card span {
    display: block;

    color: #8996a3;

    font-size: 11px;
    font-weight: bold;

    text-transform: uppercase;
}


.report-summary-card strong {
    display: block;

    margin-top: 8px;

    font-size: 25px;
}


.report-export-actions {
    display: flex;

    align-items: center;

    gap: 8px;
}


.report-table-container {
    overflow-x: auto;
}


.report-table-container table {
    min-width: 1050px;
}


.report-note {
    max-width: 340px;

    white-space: normal;

    line-height: 1.45;
}


@media (max-width: 1100px) {

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


    .report-filter-actions {
        grid-column: span 2;
    }


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

}


@media (max-width: 700px) {

    .report-filters {
        grid-template-columns: 1fr;
    }


    .report-filter-actions {
        grid-column: auto;
    }


    .report-summary {
        grid-template-columns: 1fr;
    }


    .report-export-actions {
        align-items: stretch;
        flex-direction: column;
    }

}
/* Report Type Selection */

.report-type-tabs {
    display: flex;

    gap: 8px;

    margin-bottom: 20px;

    padding: 5px;

    width: fit-content;

    background: #111820;

    border: 1px solid #27323d;
    border-radius: 7px;
}


.report-type-tabs a {
    padding: 9px 15px;

    color: #8996a3;

    border-radius: 5px;

    font-size: 13px;
    font-weight: bold;

    text-decoration: none;
}


.report-type-tabs a:hover {
    color: #e8edf2;

    background: #1b252e;
}


.report-type-tabs a.active {
    color: #ffffff;

    background: #273746;
}


.audit-report-filters {
    display: grid;

    grid-template-columns:
        minmax(230px, 1.8fr)
        minmax(140px, 1fr)
        minmax(140px, 1fr)
        minmax(180px, 1.2fr)
        minmax(150px, 1fr)
        minmax(160px, 1fr)
        auto;

    gap: 12px;

    align-items: end;
}


.audit-report-table {
    min-width: 1450px !important;
}


.audit-status-change {
    display: flex;

    align-items: center;

    gap: 6px;

    white-space: nowrap;
}


@media (max-width: 1250px) {

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


    .audit-search-filter {
        grid-column: span 2;
    }


    .audit-report-filters
    .report-filter-actions {
        grid-column: span 2;
    }

}


@media (max-width: 700px) {

    .report-type-tabs {
        width: 100%;

        flex-direction: column;
    }


    .report-type-tabs a {
        text-align: center;
    }


    .audit-report-filters {
        grid-template-columns: 1fr;
    }


    .audit-search-filter,
    .audit-report-filters
    .report-filter-actions {
        grid-column: auto;
    }

}
/* Microsoft Identity */

.signed-in-user {
    margin-top: auto;
    padding: 16px;
    border-top: 1px solid #27323d;
}


.signed-in-name {
    color: #e8edf2;
    font-size: 13px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}


.signed-in-email {
    margin-top: 3px;
    color: #7f8c98;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
}


.sign-out-link {
    display: inline-block;
    margin-top: 10px;
    color: #8eb9df;
    font-size: 12px;
    text-decoration: none;
}


.sign-out-link:hover {
    color: #b9d8f2;
    text-decoration: underline;
}
/* Microsoft Identity */

.sidebar {
    display: flex;
    flex-direction: column;
}


.sidebar nav {
    flex: 1;
}


.signed-in-user {
    flex-shrink: 0;

    padding: 16px 18px;

    border-top: 1px solid #27323d;

    background: #111820;
}


.signed-in-name {
    color: #e8edf2;

    font-size: 13px;
    font-weight: 600;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.signed-in-email {
    margin-top: 4px;

    color: #7f8c98;

    font-size: 11px;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.sign-out-link {
    display: inline-block;

    margin-top: 10px;

    color: #8eb9df;

    font-size: 12px;

    text-decoration: none;
}


.sign-out-link:hover {
    color: #b9d8f2;

    text-decoration: underline;
}
/* AIS OPS Login */

.login-page {
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle at top,
            #1d2833 0,
            #0f141a 55%
        );

    padding: 30px;
}


.login-container {
    width: 100%;
    max-width: 430px;
}


.login-brand {
    text-align: center;
    margin-bottom: 28px;
}


.login-brand-title {
    color: #ffffff;

    font-size: 34px;
    font-weight: 700;

    letter-spacing: 1px;
}


.login-brand-subtitle {
    margin-top: 6px;

    color: #8391a1;

    font-size: 14px;
}


.login-card {
    background: #161d25;

    border: 1px solid #2a3642;

    border-radius: 10px;

    padding: 30px;

    box-shadow:
        0 20px 50px
        rgba(0, 0, 0, 0.35);
}


.login-card h1 {
    margin: 0;

    color: #ffffff;

    font-size: 24px;
}


.login-description {
    margin:
        8px 0
        24px 0;

    color: #8f9ba8;

    font-size: 14px;
}


.local-login-form {
    display: flex;
    flex-direction: column;
}


.local-login-form label {
    margin-bottom: 7px;

    color: #aab4bf;

    font-size: 13px;
    font-weight: 600;
}


.local-login-form input {
    width: 100%;

    margin-bottom: 17px;

    padding: 12px 13px;

    color: #e8edf2;
    background: #0f141a;

    border: 1px solid #344250;
    border-radius: 6px;

    font-size: 14px;

    outline: none;
}


.local-login-form input:focus {
    border-color: #4e8fc7;

    box-shadow:
        0 0 0 2px
        rgba(78, 143, 199, 0.15);
}


.local-login-button {
    width: 100%;

    margin-top: 3px;

    padding: 12px;

    border: 0;
    border-radius: 6px;

    background: #2e78b7;
    color: #ffffff;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;
}


.local-login-button:hover {
    background: #3789cc;
}


.login-separator {
    display: flex;
    align-items: center;

    margin: 24px 0;

    color: #71808f;

    font-size: 13px;
}


.login-separator::before,
.login-separator::after {
    content: "";

    flex: 1;

    height: 1px;

    background: #2a3642;
}


.login-separator span {
    padding: 0 14px;
}


.microsoft-login-button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;

    padding: 12px;

    border-radius: 6px;

    background: #176fc1;
    color: #ffffff;

    text-decoration: none;

    font-size: 14px;
    font-weight: 600;
}


.microsoft-login-button:hover {
    background: #2081d5;
}


.microsoft-mark {
    margin-right: 9px;

    font-size: 18px;
}


.login-error {
    margin-bottom: 20px;

    padding: 11px 13px;

    background: rgba(
        196,
        69,
        69,
        0.16
    );

    border: 1px solid #743d43;
    border-radius: 6px;

    color: #ff9ca3;

    font-size: 13px;
}


.break-glass-notice {
    margin-top: 20px;

    color: #657381;

    font-size: 11px;
    line-height: 1.5;

    text-align: center;
}
/* Admin Settings */

.settings-content {
    padding: 22px;
}


.settings-form {
    max-width: 620px;
}


.settings-warning {
    margin-bottom: 22px;

    padding: 13px 15px;

    background: #201d13;

    border: 1px solid #51482a;
    border-left: 3px solid #c9a84c;

    border-radius: 5px;

    color: #d8c681;

    font-size: 13px;
    line-height: 1.5;
}


.settings-field {
    display: flex;
    flex-direction: column;

    margin-bottom: 18px;
}


.settings-field label {
    margin-bottom: 7px;

    color: #aab4bf;

    font-size: 12px;
    font-weight: bold;
}


.settings-field input {
    min-height: 42px;

    padding: 10px 12px;

    background: #111820;
    color: #e8edf2;

    border: 1px solid #354554;
    border-radius: 6px;

    font-size: 14px;
}


.settings-field input:focus {
    outline: none;

    border-color: #5d7185;
}


.settings-field small {
    margin-top: 6px;

    color: #6f7d89;

    font-size: 11px;
}


.settings-divider {
    height: 1px;

    margin: 24px 0;

    background: #27323d;
}


.settings-actions {
    margin-top: 24px;
}


.credential-meta {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 14px;

    margin-top: 28px;
    padding-top: 22px;

    border-top: 1px solid #27323d;
}


.credential-meta > div {
    padding: 14px;

    background: #111820;

    border: 1px solid #27323d;
    border-radius: 6px;
}


.credential-meta span {
    display: block;

    color: #74818e;

    font-size: 10px;
    font-weight: bold;

    text-transform: uppercase;
}


.credential-meta strong {
    display: block;

    margin-top: 7px;

    color: #dce3ea;

    font-size: 13px;
}


.settings-security-panel {
    margin-top: 20px;
}


@media (max-width: 800px) {

    .credential-meta {
        grid-template-columns: 1fr;
    }

}
/* RBAC */

.access-denied-container {
    min-height: calc(100vh - 80px);

    display: flex;
    align-items: center;
    justify-content: center;
}


.access-denied-card {
    width: 100%;
    max-width: 520px;

    padding: 40px;

    background: #182129;

    border: 1px solid #2b3945;
    border-radius: 9px;

    text-align: center;
}


.access-denied-code {
    color: #ff6978;

    font-size: 54px;
    font-weight: 700;

    line-height: 1;
}


.access-denied-card h1 {
    margin:
        14px
        0
        10px 0;
}


.access-denied-card p {
    margin:
        0
        0
        22px 0;

    color: #8996a3;

    line-height: 1.5;
}


.access-denied-detail {
    margin-bottom: 26px;

    padding: 12px;

    background: #111820;

    border: 1px solid #27323d;
    border-radius: 5px;

    color: #8996a3;

    font-size: 12px;
}


.access-denied-detail strong {
    margin-left: 4px;

    color: #dce3ea;
}
/* Extended Application Settings */

.settings-form-wide {
    max-width: 900px;
}


.settings-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 18px;
}


.settings-toggle-row {
    display: flex;
    flex-wrap: wrap;

    gap: 24px;

    margin-bottom: 24px;
}


.settings-checkbox {
    display: flex;
    align-items: center;

    gap: 9px;

    color: #c5ced7;

    font-size: 13px;

    cursor: pointer;
}


.settings-checkbox input {
    width: 16px;
    height: 16px;

    margin: 0;
}


@media (max-width: 800px) {

    .settings-grid {
        grid-template-columns: 1fr;
    }

}

/* ==========================================================
   AIS OPS - Settings workspace
   ========================================================== */

.settings-page-header {
    margin-bottom: 22px;
}

.settings-shell {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.settings-nav {
    position: sticky;
    top: 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    background: #141d26;
    border: 1px solid #2b3742;
    border-radius: 8px;
}

.settings-nav-item {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 12px;
    padding: 12px 14px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #aeb9c4;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.settings-nav-item:hover {
    background: #1b2732;
    color: #e4eaf0;
}

.settings-nav-item.active {
    background: #26394a;
    color: #ffffff;
}

.settings-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    flex: 0 0 22px;
    color: #7fa8cc;
    font-size: 16px;
}

.settings-nav-item.active .settings-nav-icon {
    color: #9dccf2;
}

.settings-workspace {
    min-width: 0;
}

.settings-section-panel {
    margin-top: 0;
    margin-bottom: 22px;
}

.settings-section-hidden {
    display: none !important;
}

.settings-workspace .panel {
    overflow: hidden;
}

.settings-workspace .panel-header {
    padding: 20px 22px;
}

.settings-workspace .settings-content {
    padding: 22px;
}

.settings-workspace .settings-form-wide {
    max-width: none;
}

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

.settings-workspace .settings-field,
.settings-workspace .settings-grid > *,
.settings-workspace .credential-meta > * {
    min-width: 0;
}

.settings-workspace .settings-field input,
.settings-workspace .settings-field select,
.settings-workspace .settings-field textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.settings-workspace .credential-meta {
    display: grid;
    grid-template-columns: minmax(180px, 0.75fr) minmax(0, 1.5fr);
    gap: 14px;
}

.settings-workspace .credential-meta > div {
    overflow: hidden;
}

.settings-workspace .credential-meta strong {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.45;
}

.settings-workspace .settings-warning {
    overflow-wrap: anywhere;
}

.settings-workspace .settings-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

@media (max-width: 1050px) {
    .settings-shell {
        grid-template-columns: 1fr;
    }

    .settings-nav {
        position: static;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .settings-nav-item {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 760px) {
    .settings-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .settings-workspace .settings-grid,
    .settings-workspace .credential-meta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .settings-nav {
        grid-template-columns: 1fr;
    }

    .settings-nav-item {
        justify-content: flex-start;
        text-align: left;
    }
}

/* ==========================================================
   AIS OPS - Settings horizontal ribbon override
   ========================================================== */

.settings-shell {
    display: block;
}

.settings-nav {
    position: static;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    gap: 0;
    margin-bottom: 22px;
    padding: 0;
    background: #141d26;
    border: 1px solid #2b3742;
    border-radius: 8px;
    overflow-x: auto;
    overflow-y: hidden;
}

.settings-nav-item {
    position: relative;
    flex: 1 1 0;
    min-width: 150px;
    justify-content: center;
    gap: 10px;
    padding: 16px 18px;
    border-radius: 0;
    background: transparent;
    text-align: center;
    white-space: nowrap;
}

.settings-nav-item + .settings-nav-item {
    border-left: 1px solid #26333f;
}

.settings-nav-item:hover {
    background: #1b2732;
}

.settings-nav-item.active {
    background: #1a2733;
    color: #ffffff;
}

.settings-nav-item.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #4f93d1;
}

.settings-nav-icon {
    width: auto;
    flex: 0 0 auto;
}

.settings-workspace {
    width: 100%;
    min-width: 0;
}

@media (max-width: 760px) {
    .settings-nav {
        display: flex;
        grid-template-columns: none;
    }

    .settings-nav-item {
        flex: 0 0 auto;
        min-width: 145px;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .settings-nav {
        display: flex;
        grid-template-columns: none;
    }

    .settings-nav-item {
        min-width: 135px;
        justify-content: center;
        text-align: center;
    }
}

/* ==========================================================
   AIS OPS - Autotask customer sync
   ========================================================== */

.customer-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.customer-header-actions form {
    margin: 0;
}

.customer-header-actions button,
.customer-header-actions .primary-action,
.customer-header-actions .secondary-action {
    min-height: 40px;
}

.customer-header-actions button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.customer-toolbar-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 14px;
}

.customer-sync-notice {
    margin-bottom: 18px;
    padding: 12px 15px;
    background: #2a2414;
    border: 1px solid #705d21;
    border-radius: 6px;
    color: #e8cf73;
    font-size: 13px;
    line-height: 1.5;
}

.autotask-link-state {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.autotask-linked-badge,
.autotask-unlinked-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: bold;
}

.autotask-linked-badge {
    background: #173b31;
    color: #42d392;
    border: 1px solid #285c4c;
}

.autotask-unlinked-badge {
    background: #202a35;
    color: #8996a3;
    border: 1px solid #354554;
}

.autotask-company-id {
    color: #7f8c99;
    font-size: 12px;
}

@media (max-width: 700px) {
    header {
        align-items: flex-start;
        gap: 18px;
    }

    .customer-header-actions {
        justify-content: flex-start;
    }

    .customer-toolbar-meta {
        justify-content: flex-start;
    }
}


/* Backup Type Settings */

.backup-type-add-form {
    margin-bottom: 28px;
}

.backup-type-list {
    border: 1px solid #2a3642;
    border-radius: 8px;
    overflow: hidden;
}

.backup-type-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 18px;
    align-items: center;
    padding: 16px 18px;
    background: #151d25;
    border-bottom: 1px solid #27323d;
}

.backup-type-row:last-child {
    border-bottom: 0;
}

.backup-type-title {
    font-weight: 700;
    color: #e8edf2;
}

.backup-type-meta {
    margin-top: 5px;
    color: #8391a1;
    font-size: 12px;
}

.backup-type-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.backup-type-actions form {
    margin: 0;
}

@media (max-width: 850px) {
    .backup-type-row {
        grid-template-columns: 1fr;
    }

    .backup-type-actions {
        flex-wrap: wrap;
    }
}

/* Backup target display */
.muted-text {
    color: #7f8b96;
}

.work-type-separator {
    margin: 0 6px;
    color: #6f7c87;
}

/* =========================================================
   MAINTENANCE
   ========================================================= */

.maintenance-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.maintenance-status-card {
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--border-color, #334155);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.maintenance-status-card span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted-text, #9ca3af);
    font-size: 12px;
}

.maintenance-status-card strong {
    display: block;
    overflow-wrap: anywhere;
    font-size: 14px;
}

.maintenance-result-success {
    color: #58c782;
}

.maintenance-result-failed {
    color: #ef6b73;
}

.maintenance-result-never {
    color: var(--muted-text, #9ca3af);
}

.maintenance-error {
    border-left-color: #ef6b73 !important;
}

.settings-field-span-2 {
    grid-column: span 2;
}

.maintenance-file-list {
    margin-top: 20px;
    border: 1px solid var(--border-color, #334155);
    border-radius: 8px;
    overflow: hidden;
}

.maintenance-list-heading {
    padding: 12px 14px;
    border-bottom: 1px solid var(--border-color, #334155);
    font-weight: 700;
    font-size: 13px;
}

.maintenance-file-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border-color, #334155);
}

.maintenance-file-row:last-child {
    border-bottom: 0;
}

.maintenance-file-row > div {
    min-width: 0;
}

.maintenance-file-row strong,
.maintenance-file-row span {
    display: block;
}

.maintenance-file-row strong {
    overflow-wrap: anywhere;
    font-size: 13px;
}

.maintenance-file-row span {
    margin-top: 4px;
    color: var(--muted-text, #9ca3af);
    font-size: 11px;
}

.button-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid var(--border-color, #334155);
    border-radius: 6px;
    text-decoration: none;
    font-size: 12px;
}

.maintenance-actions {
    margin-top: 14px;
}

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

@media (max-width: 640px) {
    .maintenance-status-grid {
        grid-template-columns: 1fr;
    }

    .settings-field-span-2 {
        grid-column: span 1;
    }

    .maintenance-file-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   DATE PICKER / MAINTENANCE PURGE
   ========================================================= */

.date-nav-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
}

.date-jump-form {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.date-jump-form label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.date-jump-form input[type="date"] {
    min-height: 36px;
    padding: 6px 9px;
    color: #c1cad3;
    color-scheme: dark;
    background: #171f27;
    border: 1px solid #27323d;
    border-radius: 6px;
}

.date-jump-button {
    cursor: pointer;
    font: inherit;
}

.danger-action {
    display: inline-block;
    padding: 10px 16px;
    color: #ffffff;
    background: #5f2429;
    border: 1px solid #8d363f;
    border-radius: 6px;
    font-weight: 700;
    cursor: pointer;
}

.danger-action:hover {
    background: #742d34;
}

.maintenance-danger-warning {
    background: #251619;
    border-color: #663139;
    border-left-color: #d9606b;
    color: #e6a4aa;
}

.maintenance-purge-confirm {
    margin-top: 4px;
}

@media (max-width: 700px) {
    .date-navigation {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .date-nav-center {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

/* =========================================================
   MODULE HOME / LAUNCHER
   ========================================================= */
.module-home-header { margin-bottom: 28px; }
.module-home-header h1 { margin: 5px 0 6px; font-size: 34px; }
.module-home-header p { margin: 0; color: #8e9aa7; }
.module-home-eyebrow { color: #6f91b5; font-size: 11px; font-weight: 800; letter-spacing: 1.6px; }
.module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.module-card { min-height: 285px; padding: 24px; background: #151d25; border: 1px solid #27323d; border-radius: 10px; text-decoration: none; color: inherit; box-sizing: border-box; transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.module-card-live:hover { transform: translateY(-3px); border-color: #4777a5; background: #18232d; }
.module-card-coming { opacity: .66; }
.module-icon { display: flex; width: 48px; height: 48px; align-items: center; justify-content: center; margin-bottom: 24px; border-radius: 9px; background: #202b36; color: #8db5dc; font-size: 25px; font-weight: 700; }
.module-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.module-card-heading h2 { margin: 6px 0 0; font-size: 23px; }
.module-state { display: inline-block; color: #788592; font-size: 9px; font-weight: 800; letter-spacing: 1.2px; }
.module-state.live { color: #62b58b; }
.module-arrow { font-size: 24px; color: #779abd; }
.module-card > p { min-height: 58px; margin: 15px 0 22px; color: #929daa; line-height: 1.5; }
.module-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding-top: 18px; border-top: 1px solid #27323d; }
.module-metrics div { display: flex; flex-direction: column; gap: 4px; }
.module-metrics strong { font-size: 18px; }
.module-metrics span { color: #7e8994; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; }
.module-metrics .module-attention strong { color: #df6f76; }
.module-coming-label { padding-top: 18px; border-top: 1px solid #27323d; color: #788592; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.module-shared { margin-top: 28px; padding: 22px 24px; background: #121920; border: 1px solid #27323d; border-radius: 10px; }
.module-shared-heading { display: flex; align-items: baseline; gap: 14px; margin-bottom: 17px; }
.module-shared-heading h2 { margin: 0; font-size: 17px; }
.module-shared-heading p { margin: 0; color: #7e8994; font-size: 12px; }
.module-shared-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.module-shared-links a { display: flex; justify-content: space-between; padding: 12px 14px; color: #b7c2cc; background: #182129; border: 1px solid #27323d; border-radius: 6px; text-decoration: none; font-size: 13px; }
.module-shared-links a:hover { border-color: #4777a5; }
@media (max-width: 1050px) { .module-grid { grid-template-columns: 1fr; } .module-card { min-height: auto; } }
@media (max-width: 720px) { .module-shared-links { grid-template-columns: 1fr 1fr; } .module-shared-heading { align-items: flex-start; flex-direction: column; } }

/* =========================================================
   TICKETING MODULE
   ========================================================= */
.ticketing-header { margin-bottom: 24px; }
.ticketing-header h1 { margin: 5px 0 6px; font-size: 32px; }
.ticketing-header p { margin: 0; color: #8e9aa7; }
.ticketing-alert { display: flex; flex-direction: column; gap: 5px; margin-bottom: 18px; padding: 14px 16px; background: #2a171a; border: 1px solid #6b3137; border-radius: 8px; color: #e5a3a8; }
.ticketing-alert span { font-size: 12px; }
.ticketing-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.ticketing-metric { display: flex; flex-direction: column; gap: 8px; padding: 16px; color: inherit; background: #151d25; border: 1px solid #27323d; border-radius: 9px; text-decoration: none; }
.ticketing-metric:hover, .ticketing-metric.active { border-color: #4777a5; background: #18232d; }
.ticketing-metric span { color: #85919d; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; }
.ticketing-metric strong { font-size: 27px; }
.ticketing-metric-danger strong { color: #e06f77; }
.ticketing-metric-warning strong { color: #d5a257; }
.ticketing-panel { background: #121920; border: 1px solid #27323d; border-radius: 10px; overflow: hidden; }
.ticketing-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid #27323d; }
.ticketing-panel-heading h2 { margin: 0 0 5px; font-size: 18px; }
.ticketing-panel-heading p { margin: 0; color: #7e8994; font-size: 12px; }
.ticketing-count { color: #87939e; font-size: 12px; }
.ticketing-table-wrap { overflow-x: auto; }
.ticketing-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.ticketing-table th { padding: 11px 12px; color: #7f8b96; background: #151d25; border-bottom: 1px solid #27323d; text-align: left; font-size: 10px; text-transform: uppercase; letter-spacing: .6px; white-space: nowrap; }
.ticketing-table td { padding: 12px; border-bottom: 1px solid #222d37; vertical-align: top; }
.ticketing-table tbody tr:last-child td { border-bottom: 0; }
.ticketing-table tbody tr:hover { background: rgba(255,255,255,.018); }
.ticket-number { white-space: nowrap; font-weight: 700; color: #8db5dc; }
.ticket-title-cell { min-width: 260px; max-width: 520px; }
.ticket-title-cell strong, .ticket-title-cell span { display: block; }
.ticket-title-cell span { margin-top: 4px; color: #73808c; font-size: 10px; }
.ticket-priority { display: inline-flex; padding: 4px 7px; background: #202a34; border-radius: 5px; white-space: nowrap; }
.ticket-priority.critical { color: #f0a1a6; background: #3a2024; }
.ticket-unassigned { color: #e4b062; font-weight: 700; }
.ticket-due-overdue { color: #e37a81; font-weight: 700; }
.ticket-critical-row { box-shadow: inset 3px 0 0 #bd515a; }
.ticket-overdue-row { box-shadow: inset 3px 0 0 #a87535; }
.ticketing-empty { padding: 38px 22px; color: #7e8994; text-align: center; }
.ticketing-footnote { margin-top: 12px; color: #66727d; font-size: 11px; }
.module-live-label { color: #62b58b; }
@media (max-width: 1050px) { .ticketing-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .ticketing-metrics { grid-template-columns: 1fr; } .ticketing-panel-heading { align-items: flex-start; flex-direction: column; } }
.ticketing-resource-warning { margin-bottom: 14px; padding: 10px 13px; color: #caa96f; background: #282216; border: 1px solid #5a4b2d; border-radius: 7px; font-size: 11px; }
.ticketing-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1180px) { .ticketing-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }


/* =========================================================
   TICKETING FILTERS / DETAIL
   ========================================================= */
.ticketing-header-row,.ticket-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ticketing-cache-status{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px;padding:12px 14px;background:#151d25;border:1px solid #27323d;border-radius:8px;font-size:11px}.ticketing-cache-status>div{display:flex;flex-direction:column;gap:3px}.ticketing-cache-status span{color:#7f8b96}.ticketing-cache-error{max-width:50%;color:#df7b82!important}.ticketing-filter-panel{margin-bottom:18px;padding:15px;background:#121920;border:1px solid #27323d;border-radius:10px}.ticketing-filter-form{display:grid;grid-template-columns:2fr repeat(3,minmax(130px,1fr));gap:12px;align-items:end}.ticketing-filter-form>div{display:flex;flex-direction:column;gap:5px}.ticketing-filter-form label{color:#7f8b96;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.ticketing-filter-form input,.ticketing-filter-form select{min-height:36px;padding:7px 9px;color:#c1cad3;background:#171f27;border:1px solid #27323d;border-radius:6px}.ticketing-filter-actions{flex-direction:row!important;align-items:center;gap:8px!important}.ticketing-filter-actions .btn{min-height:36px;box-sizing:border-box}.ticket-row-link{cursor:pointer}.ticket-number a{color:inherit;text-decoration:none}.ticket-detail-header{margin-bottom:18px}.ticket-detail-header h1{margin:5px 0 4px;font-size:30px}.ticket-detail-header p{max-width:900px;margin:0;color:#a3adb7;font-size:14px}.ticket-detail-back{display:inline-block;margin-bottom:15px;color:#7ea8ce;text-decoration:none;font-size:12px}.ticket-detail-status-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ticket-detail-status{display:inline-flex;padding:6px 9px;background:#202a34;border:1px solid #2d3945;border-radius:6px;font-size:11px;font-weight:700}.ticket-detail-status.warning{color:#e4b062;background:#302717;border-color:#604d2b}.ticket-detail-status.danger{color:#f0a1a6;background:#3a2024;border-color:#6a3138}.ticket-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}.ticket-detail-card{background:#121920;border:1px solid #27323d;border-radius:10px;overflow:hidden}.ticket-detail-card>h2{margin:0;padding:17px 19px;border-bottom:1px solid #27323d;font-size:16px}.ticket-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.ticket-detail-fields>div{padding:14px 18px;border-bottom:1px solid #222d37}.ticket-detail-fields>div:nth-child(odd){border-right:1px solid #222d37}.ticket-detail-fields span,.ticket-detail-fields strong{display:block}.ticket-detail-fields span{margin-bottom:5px;color:#74808c;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.ticket-detail-fields strong{font-size:12px;overflow-wrap:anywhere}.ticket-description{padding:18px;color:#c4cbd2;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.ticket-notes-card{margin-bottom:12px}.ticket-note-list{display:flex;flex-direction:column}.ticket-note{padding:16px 19px;border-bottom:1px solid #222d37}.ticket-note:last-child{border-bottom:0}.ticket-note-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.ticket-note-meta strong{font-size:13px}.ticket-note-meta span{color:#77838f;font-size:10px}.ticket-note-body{color:#b9c2ca;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.ticketing-empty.compact{padding:20px}.ticketing-resource-warning{margin:12px 18px}.ticketing-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1250px){.ticketing-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}.ticketing-search-field{grid-column:span 2}}@media(max-width:900px){.ticket-detail-grid{grid-template-columns:1fr}.ticketing-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.ticketing-search-field{grid-column:1/-1}}@media(max-width:620px){.ticketing-header-row,.ticket-detail-header{flex-direction:column}.ticketing-filter-form{grid-template-columns:1fr}.ticketing-search-field{grid-column:auto}.ticket-detail-fields{grid-template-columns:1fr}.ticket-detail-fields>div:nth-child(odd){border-right:0}.ticket-note-meta{align-items:flex-start;flex-direction:column}.ticketing-cache-status{flex-direction:column}.ticketing-cache-error{max-width:none}}

/* =========================================================
   PLATFORM STATUS
   ========================================================= */
.platform-status-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.platform-status-header h1{margin:4px 0 6px;font-size:30px}.platform-status-header p{margin:0;color:#87939f}.platform-overall{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:17px 19px;background:#141c24;border:1px solid #29343f;border-radius:10px}.platform-overall-dot{width:13px;height:13px;border-radius:50%;flex:0 0 auto}.platform-overall strong,.platform-overall span{display:block}.platform-overall strong{margin-bottom:3px;font-size:15px}.platform-overall span{color:#84909b;font-size:11px}.platform-overall-operational .platform-overall-dot{background:#35c76f;box-shadow:0 0 0 4px rgba(53,199,111,.11)}.platform-overall-degraded .platform-overall-dot{background:#e0aa4f;box-shadow:0 0 0 4px rgba(224,170,79,.11)}.platform-overall-outage .platform-overall-dot{background:#dc5f68;box-shadow:0 0 0 4px rgba(220,95,104,.12)}.platform-status-panel{background:#111820;border:1px solid #29343f;border-radius:10px;overflow:hidden}.platform-status-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:17px 19px;border-bottom:1px solid #29343f}.platform-status-panel-heading h2{margin:0 0 4px;font-size:17px}.platform-status-panel-heading p,.platform-status-panel-heading>span{margin:0;color:#77838e;font-size:10px}.platform-component{padding:20px;border-bottom:1px solid #29343f}.platform-component:last-child{border-bottom:0}.platform-component-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.platform-component h3{margin:0 0 5px;font-size:14px}.platform-component p{margin:0;color:#7d8994;font-size:10px;line-height:1.45}.platform-status-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap}.platform-status-operational{color:#64d58d;background:#173326}.platform-status-degraded{color:#edbd68;background:#392f1d}.platform-status-outage{color:#ef858d;background:#3c2025}.platform-status-disabled,.platform-status-unknown{color:#909ba5;background:#252d35}.platform-history{display:grid;grid-template-columns:repeat(48,minmax(2px,1fr));gap:3px;height:30px}.platform-history-bar{display:block;border-radius:1px;background:#313b45}.platform-history-operational{background:#35c76f}.platform-history-degraded{background:#e0aa4f}.platform-history-outage{background:#dc5f68}.platform-history-disabled{background:#53606b}.platform-history-unknown{background:#313b45}.platform-component-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;color:#697681;font-size:9px}.platform-status-note{margin:12px 2px 0;color:#68747f;font-size:10px}@media(max-width:700px){.platform-status-header,.platform-status-panel-heading,.platform-component-top{flex-direction:column}.platform-history{gap:2px}.platform-component-foot span:nth-child(2){display:none}}

/* 0.6.7-dev operations home */
.ops-home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.ops-platform-pill{display:flex;align-items:center;gap:11px;min-width:210px;padding:12px 14px;background:#141c24;border:1px solid #29343f;border-radius:9px;color:#c2cbd3;text-decoration:none}.ops-platform-pill span:last-child{display:flex;flex-direction:column;gap:2px}.ops-platform-pill small{color:#75828d;font-size:9px}.ops-platform-dot{width:10px;height:10px;border-radius:50%;background:#78848f}.ops-platform-operational .ops-platform-dot{background:#35c76f}.ops-platform-degraded .ops-platform-dot{background:#e0aa4f}.ops-platform-outage .ops-platform-dot{background:#dc5f68}.ops-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.ops-summary-card{display:flex;min-height:118px;flex-direction:column;padding:17px 18px;background:#141c24;border:1px solid #29343f;border-radius:9px;color:inherit;text-decoration:none}.ops-summary-card>span{color:#7d8994;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.ops-summary-card>strong{margin:8px 0 3px;font-size:28px}.ops-summary-card>small{color:#7d8994;font-size:10px}.ops-summary-card.attention>strong{color:#e0aa4f}.ops-summary-card.critical>strong{color:#dc6b74}.ops-progress{height:4px;margin-top:auto;background:#26313b;border-radius:4px;overflow:hidden}.ops-progress i{display:block;height:100%;background:#55a7df}.ops-health-pair{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:4px 7px;margin-top:13px}.ops-health-pair b{font-size:24px}.ops-health-pair em{color:#7d8994;font-size:9px;font-style:normal;text-transform:uppercase}.ops-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}.ops-panel{background:#111820;border:1px solid #29343f;border-radius:10px;overflow:hidden}.ops-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid #29343f}.ops-panel-heading h2{margin:0 0 3px;font-size:16px}.ops-panel-heading p{margin:0;color:#77838e;font-size:10px}.ops-panel-heading>a{color:#7ea8ce;font-size:10px;text-decoration:none;white-space:nowrap}.ops-event,.ops-escalation{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:11px;padding:12px 17px;border-bottom:1px solid #222d37}.ops-event:last-child,.ops-escalation:last-child{border-bottom:0}.ops-event div,.ops-escalation div{display:flex;min-width:0;flex-direction:column;gap:2px}.ops-event strong,.ops-escalation strong{font-size:11px}.ops-event small,.ops-escalation small{color:#77838e;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-event time,.ops-escalation>b{color:#77838e;font-size:9px;font-weight:500;white-space:nowrap}.ops-event-state,.ops-severity{display:inline-flex;justify-content:center;padding:4px 6px;border-radius:5px;font-size:9px;font-weight:700}.ops-event-state.failure,.ops-severity.critical{color:#ef858d;background:#3c2025}.ops-event-state.recovery{color:#64d58d;background:#173326}.ops-severity.high{color:#edbd68;background:#392f1d}.ops-empty{padding:28px 18px;color:#77838e;font-size:11px;text-align:center}.ops-module-grid{margin-top:0}@media(max-width:1100px){.ops-summary-grid{grid-template-columns:repeat(2,1fr)}.ops-dashboard-grid{grid-template-columns:1fr}}@media(max-width:700px){.ops-home-header{flex-direction:column}.ops-platform-pill{width:100%;box-sizing:border-box}.ops-summary-grid{grid-template-columns:1fr}.ops-event,.ops-escalation{grid-template-columns:65px 1fr}.ops-event time,.ops-escalation>b{grid-column:2}}

/* Platform branding */
.logo {
    display: block;
    text-decoration: none;
    color: inherit;
}

.platform-logo-image {
    display: block;
    width: 100%;
    max-width: 190px;
    height: 54px;
    object-fit: contain;
    object-position: center center;
}

.branding-preview-card {
    margin-bottom: 24px;
}

.branding-preview-label {
    display: block;
    margin-bottom: 8px;
    color: #8391a1;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.branding-preview-surface {
    display: flex;
    align-items: center;
    min-height: 110px;
    padding: 20px;
    border: 1px solid #26313c;
    border-radius: 8px;
    background: #161d25;
}

.branding-preview-image {
    display: block;
    max-width: 320px;
    max-height: 72px;
    object-fit: contain;
    object-position: center center;
}


/* 0.6.10-dev branding alignment */
.logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: inherit;
}

.platform-logo-image {
    display: block;
    width: 100%;
    max-width: 190px;
    height: 54px;
    object-fit: contain;
    object-position: center center;
    margin-left: auto;
    margin-right: auto;
}

.platform-logo-subtitle {
    display: block;
    width: 100%;
    text-align: center;
}


/* 0.6.11-dev platform polish */
.login-brand-logo {
    display: block;
    width: 100%;
    max-width: 300px;
    height: 92px;
    margin: 0 auto;
    object-fit: contain;
    object-position: center center;
}
.sidebar-version {
    margin-top: 8px;
    color: #5f6c78;
    font-size: 10px;
    letter-spacing: .04em;
}
.context-back-button {
    display: inline-flex;
    align-items: center;
    margin: 0 0 16px;
    padding: 7px 10px;
    color: #90b7da;
    background: #151d25;
    border: 1px solid #2a3642;
    border-radius: 6px;
    cursor: pointer;
    font-size: 11px;
}
.context-back-button:hover { background: #1b2630; border-color: #4777a5; }
.ticketing-panel-tools { display: flex; align-items: center; gap: 10px; }
.ticket-columns-popover {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 9px 14px;
    padding: 14px 18px;
    background: #151d25;
    border-bottom: 1px solid #27323d;
}
.ticket-columns-popover[hidden] { display: none; }
.ticket-columns-popover label { color: #aeb8c1; font-size: 11px; }
.ticket-columns-heading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; margin-bottom: 2px; }
.ticket-columns-heading strong { font-size: 11px; }
.ticket-columns-heading button { color: #7ea8ce; background: transparent; border: 0; cursor: pointer; font-size: 10px; }
.ticketing-table [hidden] { display: none; }
@media (max-width: 900px) { .ticket-columns-popover { grid-template-columns: repeat(2, minmax(130px,1fr)); } }

/* 0.7.0 Inventory + Integration foundation */
.inventory-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.inventory-filter-form{margin-bottom:18px}.inventory-table td small{display:block;color:var(--muted,#8ea0b3);margin-top:4px}.source-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.06);text-transform:uppercase;font-size:11px;letter-spacing:.06em}.clickable-row{cursor:pointer}.clickable-row:hover{background:rgba(255,255,255,.035)}.inventory-empty-state{padding:42px 20px}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.integration-card{background:var(--panel,#151c24);border:1px solid var(--border,#26313d);border-radius:14px;padding:20px}.integration-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.integration-card-head h2{margin:6px 0 0}.integration-category{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted,#8ea0b3)}.integration-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.integration-status-operational{background:rgba(46,204,113,.12);color:#62dc95}.integration-status-degraded,.integration-status-unknown{background:rgba(241,196,15,.12);color:#f3cc4f}.integration-status-outage{background:rgba(231,76,60,.14);color:#ff7364}.integration-status-disabled,.integration-status-planned{background:rgba(149,165,166,.12);color:#a9b6bf}.integration-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.integration-meta span{display:block;color:var(--muted,#8ea0b3);font-size:12px;margin-bottom:5px}.integration-coming{margin-top:18px;padding:10px 12px;border-radius:9px;background:rgba(52,152,219,.08);color:#8bc9f2;font-size:12px}.integration-principle{margin-bottom:18px}.integration-principle p{margin:6px 0 0;color:var(--muted,#8ea0b3)}.integration-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.integration-next-grid>div{border:1px solid var(--border,#26313d);border-radius:10px;padding:14px}.integration-next-grid p{margin:6px 0 0;color:var(--muted,#8ea0b3)}.integration-source-links{padding:18px}.integration-source-links>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border,#26313d)}
@media(max-width:900px){.inventory-kpis,.integration-grid,.integration-meta,.integration-next-grid{grid-template-columns:1fr}}

/* 0.7.1 Autotask Configuration Item inventory sync */
.inventory-kpis-four{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-sync-kpi{font-size:18px!important}.integration-sync-panel{margin:18px 0}.integration-sync-heading{align-items:center}.integration-sync-heading form{margin:0}.integration-sync-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px}.integration-sync-grid>div{padding:13px 14px;border:1px solid var(--border,#26313d);border-radius:9px;background:rgba(255,255,255,.018)}.integration-sync-grid span{display:block;color:var(--muted,#8ea0b3);font-size:11px;margin-bottom:6px}.integration-sync-state-ok{color:#62dc95}.integration-sync-state-failed{color:#ff7364}.integration-sync-state-syncing{color:#8bc9f2}.integration-sync-state-never{color:#a9b6bf}.integration-sync-error{display:flex;gap:10px;margin:0 18px 18px;padding:12px 14px;border-radius:9px;background:rgba(231,76,60,.1);color:#ff8a7e;font-size:12px}.integration-sync-error span{color:#d4a09a}@media(max-width:1100px){.inventory-kpis-four,.integration-sync-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.inventory-kpis-four,.integration-sync-grid{grid-template-columns:1fr}.integration-sync-heading{align-items:flex-start;flex-direction:column}}

/* 0.7.2 Inventory lifecycle */
.inventory-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 8px;
}
.inventory-timeline-item {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 12px;
    position: relative;
    padding: 0 0 22px;
}
.inventory-timeline-item:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 12px;
    bottom: 0;
    width: 2px;
    background: var(--border-color, #d7dde5);
}
.inventory-timeline-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: currentColor;
    margin-top: 3px;
    position: relative;
    z-index: 1;
}
.inventory-timeline-item strong,
.inventory-timeline-item span {
    display: block;
}
.inventory-timeline-item span {
    opacity: .68;
    font-size: .88rem;
    margin-top: 2px;
}
.inventory-timeline-item p {
    margin: 7px 0 0;
}

/* AIS OPS 0.7.4 - Quick Ticket */
.ticketing-header-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.ticketing-header-actions form { margin:0; }
.quick-ticket-page { max-width:1100px; }
.quick-ticket-header { margin-bottom:18px; }
.quick-ticket-card { background:var(--panel, #151f28); border:1px solid var(--border, #2b3b48); border-radius:10px; padding:20px; margin-bottom:16px; }
.quick-ticket-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.quick-ticket-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.quick-ticket-field { min-width:0; }
.quick-ticket-field-full { grid-column:1 / -1; }
.quick-ticket-field label { display:block; font-weight:700; margin-bottom:7px; }
.quick-ticket-field label span { color:#ff6678; }
.quick-ticket-field input,.quick-ticket-field select,.quick-ticket-field textarea { width:100%; box-sizing:border-box; }
.quick-ticket-field textarea { resize:vertical; min-height:150px; }
.quick-ticket-field small { display:block; margin-top:6px; color:var(--muted, #8fa0ad); }
.quick-ticket-card-heading h2 { margin:0 0 3px; font-size:18px; }
.quick-ticket-card-heading p,.quick-ticket-advanced-note { margin:0 0 14px; color:var(--muted, #8fa0ad); }
.quick-ticket-advanced summary { cursor:pointer; font-weight:700; }
.quick-ticket-advanced[open] summary { margin-bottom:12px; }
.quick-ticket-actions { display:flex; gap:10px; align-items:center; margin-top:18px; }
.quick-ticket-submit { min-width:150px; }
.quick-ticket-success,.quick-ticket-error { border-radius:10px; padding:15px 18px; margin-bottom:16px; display:flex; justify-content:space-between; gap:16px; align-items:center; }
.quick-ticket-success { background:rgba(40,190,110,.10); border:1px solid rgba(40,190,110,.35); }
.quick-ticket-error { background:rgba(225,80,90,.10); border:1px solid rgba(225,80,90,.35); flex-direction:column; align-items:flex-start; }
.quick-ticket-success strong,.quick-ticket-success span,.quick-ticket-error strong,.quick-ticket-error span { display:block; }
.quick-ticket-success-actions { display:flex; gap:8px; flex-wrap:wrap; }
@media (max-width: 760px) {
  .quick-ticket-grid,.quick-ticket-grid-three { grid-template-columns:1fr; }
  .quick-ticket-field-full { grid-column:auto; }
  .quick-ticket-card { padding:14px; }
  .quick-ticket-actions,.quick-ticket-success { flex-direction:column; align-items:stretch; }
  .quick-ticket-actions .btn,.quick-ticket-success-actions .btn { width:100%; box-sizing:border-box; text-align:center; }
  .ticketing-header-actions { width:100%; }
  .ticketing-header-actions .btn,.ticketing-header-actions form,.ticketing-header-actions form button { width:100%; box-sizing:border-box; }
}


/* =========================================================
   0.7.5-dev QUICK TICKET THEME + DASHBOARD SHORTCUT
   ========================================================= */
.quick-ticket-page {
    width: 100%;
    max-width: 1100px;
}
.quick-ticket-card {
    background: #121920;
    border-color: #27323d;
}
.quick-ticket-field label {
    color: #d2d9df;
    font-size: 12px;
}
.quick-ticket-field input,
.quick-ticket-field select,
.quick-ticket-field textarea {
    min-height: 38px;
    padding: 9px 11px;
    color: #d8e0e7;
    background: #171f27;
    border: 1px solid #34414d;
    border-radius: 6px;
    font: inherit;
    font-size: 12px;
    outline: none;
}
.quick-ticket-field textarea {
    min-height: 150px;
    line-height: 1.5;
}
.quick-ticket-field input::placeholder,
.quick-ticket-field textarea::placeholder {
    color: #697681;
}
.quick-ticket-field input:focus,
.quick-ticket-field select:focus,
.quick-ticket-field textarea:focus {
    border-color: #5f8fb7;
    box-shadow: 0 0 0 2px rgba(95,143,183,.12);
}
.quick-ticket-field select {
    color-scheme: dark;
}
.quick-ticket-card-heading h2,
.quick-ticket-advanced summary {
    color: #dce3e9;
}
.quick-ticket-actions .btn,
.quick-ticket-header .btn {
    text-decoration: none;
}
.ticketing-quick-action-card {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0 0 16px;
    padding: 14px 16px;
    color: #d9e2e9;
    background: #141d26;
    border: 1px solid #2c3945;
    border-radius: 9px;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.ticketing-quick-action-card:hover {
    background: #18232d;
    border-color: #45617a;
    transform: translateY(-1px);
}
.ticketing-quick-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    color: #9dc8e8;
    background: #1d2b38;
    border: 1px solid #30465a;
    border-radius: 8px;
    font-size: 24px;
    line-height: 1;
}
.ticketing-quick-action-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 3px;
}
.ticketing-quick-action-copy strong {
    font-size: 13px;
}
.ticketing-quick-action-copy small {
    color: #7f8c97;
    font-size: 10px;
}
.ticketing-quick-action-arrow {
    color: #7fa8c8;
    font-size: 18px;
}
@media (max-width: 620px) {
    .quick-ticket-header .btn {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    .quick-ticket-field input,
    .quick-ticket-field select,
    .quick-ticket-field textarea {
        font-size: 16px;
    }
    .ticketing-quick-action-card {
        padding: 12px 13px;
    }
}


/* 0.7.6 Quick Ticket navigation polish */
.ticketing-quick-action-card.ticketing-quick-action-compact {
    display: inline-flex;
    width: auto;
    max-width: 360px;
    padding: 9px 12px;
    margin-bottom: 16px;
}
.ticketing-quick-action-compact .ticketing-quick-action-icon {
    width: 30px; height: 30px; flex-basis: 30px; font-size: 19px;
}
.home-quick-ticket {
    display: flex; align-items: center; gap: 13px;
    max-width: 430px; margin: -8px 0 22px; padding: 13px 15px;
    color: #d9e2e9; background: #141d26; border: 1px solid #2c3945;
    border-radius: 9px; text-decoration: none; box-sizing: border-box;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.home-quick-ticket:hover { background: #18232d; border-color: #4777a5; transform: translateY(-1px); }
.home-quick-ticket-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; flex: 0 0 36px; border-radius: 8px;
    color: #9dc8e8; background: #1d2b38; border: 1px solid #30465a;
    font-size: 22px; line-height: 1;
}
.home-quick-ticket > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 3px; }
.home-quick-ticket strong { font-size: 14px; }
.home-quick-ticket small { color: #7f8c97; font-size: 11px; }
.home-quick-ticket-arrow { color: #7fa8c8; font-size: 18px; }
@media (max-width: 620px) {
    .home-quick-ticket, .ticketing-quick-action-card.ticketing-quick-action-compact { max-width: none; width: 100%; }
}

/* =========================================================
   0.7.7-dev TICKETING DASHBOARD + SIDEBAR POLISH
   ========================================================= */

/* Keep sidebar navigation visually aligned with the centered brand. */
.sidebar nav,
.sidebar nav a,
.sidebar .nav-section-label,
.signed-in-user,
.sidebar-version {
    text-align: center;
}

.sidebar .nav-section-label {
    width: 100%;
}

/* Autotask cache health now mirrors the compact platform-status pill. */
.ticketing-header-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 10px;
}

.ticketing-cache-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 235px;
    padding: 10px 12px;
    color: #c2cbd3;
    background: #141c24;
    border: 1px solid #29343f;
    border-radius: 9px;
}

.ticketing-cache-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: #78848f;
}

.ticketing-cache-pill-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.ticketing-cache-pill-copy strong {
    font-size: 11px;
    white-space: nowrap;
}

.ticketing-cache-pill-copy small {
    color: #75828d;
    font-size: 9px;
    white-space: nowrap;
}

.ticketing-cache-ok .ticketing-cache-dot,
.ticketing-cache-ready .ticketing-cache-dot,
.ticketing-cache-operational .ticketing-cache-dot {
    background: #35c76f;
    box-shadow: 0 0 0 3px rgba(53,199,111,.10);
}

.ticketing-cache-syncing .ticketing-cache-dot {
    background: #55a7df;
    box-shadow: 0 0 0 3px rgba(85,167,223,.10);
}

.ticketing-cache-failed .ticketing-cache-dot,
.ticketing-cache-error .ticketing-cache-dot {
    background: #dc5f68;
    box-shadow: 0 0 0 3px rgba(220,95,104,.10);
}

/* Quick Ticket is now a first-class metric-sized action. */
.ticketing-metrics {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ticketing-metric-quick {
    border-color: #365777;
    background: #162330;
}

.ticketing-metric-quick:hover {
    border-color: #5685ad;
    background: #192a38;
}

.ticketing-metric-quick strong {
    color: #8fc5eb;
}

@media (max-width: 1320px) {
    .ticketing-metrics {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .ticketing-header-actions {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }
    .ticketing-cache-pill {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    .ticketing-header-actions form,
    .ticketing-header-actions form button {
        width: 100%;
        box-sizing: border-box;
    }
}

@media (max-width: 700px) {
    .ticketing-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 460px) {
    .ticketing-metrics {
        grid-template-columns: 1fr;
    }
}

/* Watch Center */
.watch-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.watch-header h1{margin:5px 0 6px;font-size:32px}.watch-header p{max-width:830px;margin:0;color:#8e9aa7;line-height:1.5}.watch-refresh-state{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#151d25;border:1px solid #2b3843;border-radius:8px;white-space:nowrap}.watch-refresh-state>span:last-child{display:flex;flex-direction:column;gap:2px}.watch-refresh-state strong{font-size:12px}.watch-refresh-state small{color:#74808c;font-size:10px}.watch-live-dot{width:9px;height:9px;background:#55b381;border-radius:50%;box-shadow:0 0 0 4px rgba(85,179,129,.11)}.watch-demo-banner{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:11px 14px;color:#c9ae78;background:#272217;border:1px solid #594b2d;border-radius:8px;font-size:11px}.watch-demo-banner strong{color:#e2c17d;text-transform:uppercase;letter-spacing:.6px}.watch-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.watch-metric{display:flex;flex-direction:column;gap:4px;padding:15px 17px;color:inherit;background:#151d25;border:1px solid #27323d;border-radius:9px;text-decoration:none}.watch-metric:hover{border-color:#4777a5}.watch-metric>span{color:#7f8b96;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px}.watch-metric strong{font-size:27px;line-height:1.1}.watch-metric small{color:#6f7b87;font-size:10px}.watch-metric-critical strong{color:#e06f77}.watch-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:16px}.watch-filter-bar{display:grid;grid-template-columns:minmax(260px,2fr) minmax(130px,1fr) minmax(130px,1fr) auto auto auto;gap:10px;align-items:end;margin-bottom:14px;padding:14px;background:#121920;border:1px solid #27323d;border-radius:10px}.watch-filter-bar>div{display:flex;flex-direction:column;gap:5px}.watch-filter-bar label{color:#7f8b96;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.watch-filter-bar input[type=search],.watch-filter-bar select{min-height:36px;padding:7px 9px;color:#c1cad3;background:#171f27;border:1px solid #27323d;border-radius:6px}.watch-unread-toggle{display:flex!important;align-items:center;gap:7px;min-height:36px;padding:0 4px;color:#aeb8c1!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap}.watch-unread-toggle input{accent-color:#668fb5}.watch-list-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:#121920;border:1px solid #27323d;border-bottom:0;border-radius:10px 10px 0 0}.watch-list-header h2{margin:0 0 4px;font-size:17px}.watch-list-header p{margin:0;color:#74808c;font-size:10px}.watch-updated{color:#6f7b87;font-size:10px}.watch-feed{overflow:hidden;background:#121920;border:1px solid #27323d;border-radius:0 0 10px 10px}.watch-item{position:relative;display:flex;border-bottom:1px solid #222d37}.watch-item:last-child{border-bottom:0}.watch-item:hover{background:rgba(255,255,255,.018)}.watch-item-rail{width:3px;flex:0 0 3px;background:#45515c}.watch-severity-critical .watch-item-rail{background:#bd515a}.watch-severity-high .watch-item-rail{background:#c88647}.watch-severity-medium .watch-item-rail{background:#5e86aa}.watch-severity-info .watch-item-rail{background:#587062}.watch-item-unread{background:#151e26}.watch-item-body{min-width:0;flex:1;padding:16px 18px}.watch-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#707d89;font-size:10px}.watch-severity-badge{display:inline-flex;padding:3px 6px;border:1px solid #37434e;border-radius:4px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.watch-severity-badge.critical{color:#f0a1a6;background:#3a2024;border-color:#6a3138}.watch-severity-badge.high{color:#e4b062;background:#302717;border-color:#604d2b}.watch-severity-badge.medium{color:#9ec2e3;background:#1e2b37;border-color:#37526a}.watch-severity-badge.info{color:#9ab7a6;background:#1d2922;border-color:#345142}.watch-source{color:#a9b5bf;font-weight:700}.watch-new-badge{color:#74b6ea;font-size:9px;font-weight:800;letter-spacing:.6px}.watch-item h3{margin:9px 0 6px;color:#d7dde3;font-size:15px;line-height:1.35}.watch-item p{margin:0;color:#8d98a3;font-size:11px;line-height:1.55}.watch-item-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px}.watch-tags{display:flex;flex-wrap:wrap;gap:5px}.watch-tags span{padding:3px 6px;color:#768491;background:#19222a;border:1px solid #293541;border-radius:4px;font-size:9px}.watch-item-actions{display:flex;align-items:center;gap:7px}.watch-actionable{color:#d7a860;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.watch-ghost-button{padding:5px 7px;color:#66727d;background:transparent;border:1px solid #303b45;border-radius:5px;font-size:9px}.watch-ghost-button:disabled{cursor:not-allowed;opacity:.65}.watch-empty{display:flex;flex-direction:column;gap:5px;padding:42px 20px;color:#7d8994;text-align:center}.watch-empty strong{color:#aeb8c1}.watch-sidebar-panel{display:flex;flex-direction:column;gap:14px}.watch-side-card{padding:17px;background:#121920;border:1px solid #27323d;border-radius:10px}.watch-side-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.watch-side-heading h2,.watch-side-card h2{margin:0;font-size:15px}.watch-side-heading span{color:#7e8994;font-size:11px}.watch-side-card>p{margin:7px 0 13px;color:#74808c;font-size:10px;line-height:1.5}.watch-source-list{display:flex;flex-direction:column}.watch-source-list>div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #222d37}.watch-source-mark{width:6px;height:6px;background:#5b8db8;border-radius:50%}.watch-source-list strong{font-size:10px}.watch-source-list small{color:#6f7b87;font-size:9px}.watch-brief-card .module-state{display:inline-flex;margin-bottom:10px}.watch-brief-card>p{margin-bottom:12px}.watch-brief-example{display:flex;flex-direction:column;gap:7px;padding-top:12px;border-top:1px solid #26313b}.watch-brief-example strong{margin-bottom:2px;color:#8996a1;font-size:9px;text-transform:uppercase;letter-spacing:.6px}.watch-brief-example span{color:#aeb8c1;font-size:10px}.watch-brief-example span:before{content:'→';margin-right:6px;color:#628fb8}@media(max-width:1200px){.watch-workspace{grid-template-columns:1fr}.watch-sidebar-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.watch-filter-bar{grid-template-columns:2fr repeat(2,minmax(130px,1fr));}.watch-unread-toggle{grid-column:1/2}.watch-filter-bar>.btn{justify-self:start}}@media(max-width:800px){.watch-header{flex-direction:column}.watch-refresh-state{white-space:normal}.watch-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-filter-bar{grid-template-columns:1fr 1fr}.watch-search{grid-column:1/-1}.watch-sidebar-panel{grid-template-columns:1fr}.watch-item-footer{align-items:flex-start;flex-direction:column}.watch-item-actions{flex-wrap:wrap}}@media(max-width:520px){.watch-metrics,.watch-filter-bar{grid-template-columns:1fr}.watch-search,.watch-unread-toggle{grid-column:auto}.watch-demo-banner{align-items:flex-start;flex-direction:column}}

/* =========================================================
   0.7.8-dev TICKETING HEADER + HOME SERVICE POLISH
   ========================================================= */

/* Keep the cache indicator and refresh action as a balanced pair. */
.ticketing-header-actions .ticketing-cache-pill,
.ticketing-header-actions form,
.ticketing-header-actions form .btn {
    width: 250px;
    box-sizing: border-box;
}

.ticketing-header-actions .ticketing-cache-pill,
.ticketing-header-actions form .btn {
    min-height: 56px;
}

.ticketing-header-actions form {
    display: flex;
    margin: 0;
}

.ticketing-header-actions form .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .ticketing-header-actions .ticketing-cache-pill,
    .ticketing-header-actions form,
    .ticketing-header-actions form .btn {
        width: 100%;
    }
}


/* =========================================================
   0.7.9-dev TICKETING HEADER ALIGNMENT + HOME QUICK TICKET FIX
   ========================================================= */

/* Keep the cache card at its established size while centering its copy. */
.ticketing-header-actions .ticketing-cache-pill {
    position: relative;
    width: 250px;
    min-height: 56px;
    box-sizing: border-box;
    justify-content: center;
    text-align: center;
}

.ticketing-header-actions .ticketing-cache-pill .ticketing-cache-dot {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
}

.ticketing-header-actions .ticketing-cache-pill-copy {
    align-items: center;
    text-align: center;
}

/* Refresh matches the cache card height, but keeps a compact natural width. */
.ticketing-header-actions form {
    width: auto;
    display: flex;
    margin: 0;
}

.ticketing-header-actions form .btn {
    width: auto;
    min-width: 0;
    min-height: 56px;
    padding-left: 22px;
    padding-right: 22px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .ticketing-header-actions .ticketing-cache-pill,
    .ticketing-header-actions form,
    .ticketing-header-actions form .btn {
        width: 100%;
    }
}

/* Watch Center functional workflow */
.watch-header-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:8px;flex-wrap:wrap}.watch-header-actions form{display:flex;margin:0}.watch-title-link{color:inherit;text-decoration:none}.watch-title-link:hover{color:#8fc1ec}.watch-ack-badge{color:#79b796;font-size:9px;font-weight:800;letter-spacing:.45px}.watch-item-actions form{display:inline-flex;margin:0}.watch-ghost-button{display:inline-flex;align-items:center;justify-content:center;color:#9fabb6;text-decoration:none;cursor:pointer}.watch-ghost-button:hover{color:#dce7f1;border-color:#526474;background:#17212a}.watch-source-disabled{opacity:.5}.watch-manage-source-btn{display:flex;margin-top:13px;width:100%;justify-content:center}.watch-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:8px 0 18px}.watch-detail-header h1{max-width:1000px;margin:4px 0 10px;font-size:30px;line-height:1.25}.watch-detail-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.watch-detail-actions form{display:flex;margin:0}.watch-detail-card{padding:22px;margin-bottom:14px}.watch-detail-card h2,.watch-detail-grid h2{margin-top:0}.watch-detail-summary{color:#aab5bf;line-height:1.7;white-space:pre-wrap}.watch-detail-tags{margin-top:18px}.watch-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.watch-detail-grid>.card{padding:20px}.watch-detail-list{display:grid;grid-template-columns:120px 1fr;gap:9px 16px;margin:0}.watch-detail-list dt{color:#75818d;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.watch-detail-list dd{margin:0;color:#c4cdd5}.watch-review-state{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #2c3944;border-radius:8px}.watch-review-state.acknowledged{border-color:#315541;background:#17251d}.watch-review-state.unread{border-color:#5e482b;background:#261f16}.watch-review-state span,.watch-review-state small{color:#8f9ba6}.watch-source-admin-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px}.watch-source-admin-grid>.card{padding:20px}.watch-source-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.watch-source-form label{display:flex;flex-direction:column;gap:6px}.watch-source-form label>span{color:#8e9aa6;font-size:11px;font-weight:700}.watch-source-form input,.watch-source-form select{width:100%;min-height:38px;padding:8px 10px;color:#dbe3ea;background:#121920;border:1px solid #33414e;border-radius:6px}.watch-source-form .full{grid-column:1/-1}.watch-source-form .checkbox-row{flex-direction:row;align-items:center}.watch-source-form .checkbox-row input{width:auto;min-height:auto}.watch-source-form .form-actions{display:flex;gap:8px}.watch-source-table-card{min-width:0}.watch-source-table td strong,.watch-source-table td small{display:block}.watch-source-table td small{margin-top:3px;color:#778491}.watch-source-row-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.watch-source-row-actions form{display:inline-flex;margin:0}.watch-feed-configured{color:#72ba91}.btn.small{padding:5px 8px;font-size:10px}.btn.danger{color:#f2a3aa;border-color:#66353a;background:#342025}.btn.danger:hover{background:#43262b}.status-badge.danger{color:#f0a1a6;background:#3a2024;border-color:#6a3138}.status-badge.success{color:#9ed5b5;background:#1c2d23;border-color:#345b43}
@media(max-width:1050px){.watch-source-admin-grid{grid-template-columns:1fr}.watch-detail-grid{grid-template-columns:1fr}}
@media(max-width:800px){.watch-header-actions{justify-content:flex-start}.watch-detail-header{flex-direction:column}.watch-source-form{grid-template-columns:1fr}.watch-source-form .full{grid-column:auto}}

/* Watch Center feed health */
.ops-home-health-pills{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;justify-content:flex-end}.watch-status-intro{margin:0;color:#8e9aa7}.watch-status-summary{display:grid;grid-template-columns:minmax(290px,2fr) repeat(4,minmax(120px,1fr));gap:12px;margin-bottom:16px}.watch-status-overall,.watch-status-stat{padding:16px 18px;background:#151d25;border:1px solid #27323d;border-radius:9px}.watch-status-overall{display:flex;align-items:flex-start;gap:13px}.watch-status-overall .ops-platform-dot{margin-top:7px}.watch-status-overall>div{display:flex;flex-direction:column;gap:3px}.watch-status-overall small,.watch-status-stat>span{color:#7f8b96;font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.watch-status-overall strong{font-size:23px}.watch-status-overall p{margin:3px 0 0;color:#7d8994;font-size:10px;line-height:1.45}.watch-status-stat{display:flex;flex-direction:column;gap:4px}.watch-status-stat strong{font-size:25px}.watch-status-stat small{color:#6f7b87;font-size:9px}.watch-health-operational{border-color:#315541}.watch-health-degraded{border-color:#68562f}.watch-health-outage{border-color:#63343a}.watch-health-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid #35414c;border-radius:5px;color:#aab5bf;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}.watch-health-badge i{width:6px;height:6px;border-radius:50%;background:#71808d}.watch-health-badge.operational{color:#91cfaa;border-color:#315541;background:#17251d}.watch-health-badge.operational i{background:#55b381}.watch-health-badge.degraded{color:#e1bd74;border-color:#68562f;background:#282216}.watch-health-badge.degraded i{background:#d1a84f}.watch-health-badge.outage{color:#efa0a7;border-color:#63343a;background:#2c1c20}.watch-health-badge.outage i{background:#d76069}.watch-health-badge.disabled{color:#7e8994}.watch-status-card{padding:0;overflow:hidden}.watch-status-card .ops-panel-heading{padding:17px 19px;border-bottom:1px solid #27323d}.watch-status-table-wrap{overflow-x:auto}.watch-status-table{width:100%;border-collapse:collapse}.watch-status-table th,.watch-status-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #222d37;vertical-align:top}.watch-status-table th{color:#788590;font-size:9px;text-transform:uppercase;letter-spacing:.65px}.watch-status-table td{color:#aab5bf;font-size:10px}.watch-status-table tr:last-child td{border-bottom:0}.watch-status-detail{min-width:250px;max-width:520px;line-height:1.5}.muted{color:#697580}.ops-platform-degraded .ops-platform-dot{background:#d1a84f}.ops-platform-outage .ops-platform-dot{background:#d76069}.ops-platform-operational .ops-platform-dot{background:#55b381}
@media(max-width:1200px){.watch-status-summary{grid-template-columns:repeat(4,1fr)}.watch-status-overall{grid-column:1/-1}.ops-home-health-pills{justify-content:flex-start}}
@media(max-width:720px){.watch-status-summary{grid-template-columns:1fr 1fr}.watch-status-overall{grid-column:1/-1}.ops-home-health-pills{width:100%}.ops-home-health-pills .ops-platform-pill{width:100%;box-sizing:border-box}}


/* 0.7.12 - global dark-theme links + Watch Center readability */
:where(main a) {
    color: #7fb8e6;
    text-decoration-color: rgba(127, 184, 230, .55);
    text-underline-offset: 2px;
}
:where(main a:visited) { color: #7fb8e6; }
:where(main a:hover) { color: #b7dcf7; }

/* Make anchor-based actions look like the buttons beside them everywhere in OPS. */
a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px;
    padding: 7px 13px;
    color: #eef5fb;
    background: #273442;
    border: 1px solid #354554;
    border-radius: 5px;
    text-decoration: none;
    line-height: 1.2;
}
a.btn:visited { color: #eef5fb; }
a.btn:hover { color: #ffffff; background: #334353; border-color: #496077; text-decoration: none; }
a.btn.secondary { color: #c5d6e4; background: #17212a; border-color: #344553; }
a.btn.secondary:visited { color: #c5d6e4; }
a.btn.secondary:hover { color: #ffffff; background: #21303c; border-color: #53718a; }

.page-top-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 4px 0 20px; }
.watch-item-summary { max-width: 1100px; color: #98a5b0 !important; font-size: 11px !important; line-height: 1.6 !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }


/* 0.7.17 UX cleanup */
.ops-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow:auto; border:1px solid var(--border-color,#2b3b49); border-radius:12px; background:#111a22; color:inherit; padding:0; box-shadow:0 24px 80px rgba(0,0,0,.55); }
.ops-dialog::backdrop { background:rgba(3,8,13,.72); backdrop-filter:blur(2px); }
.ops-dialog form { padding:22px; }
.ops-dialog-header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:20px; }
.ops-dialog-header h2 { margin:0 0 4px; }
.ops-dialog-header p { margin:0; color:#93a2af; }
.dialog-close { border:0; background:transparent; color:#b9c7d3; font-size:28px; cursor:pointer; line-height:1; }
.inline-form { display:inline; }
.sidebar-back-link { margin-top:4px; margin-bottom:8px; color:#9ec9ea !important; }
.inventory-edit { white-space:nowrap; }


/* 0.7.18 inventory modal layout */
.ops-dialog .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
    margin: 0;
}
.ops-dialog .form-grid > label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    color: #dce4eb;
    font-size: 12px;
    font-weight: 700;
}
.ops-dialog .form-grid > label > span {
    color: #9aa8b5;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.ops-dialog .form-grid > label.full {
    grid-column: 1 / -1;
}
.ops-dialog .form-grid input,
.ops-dialog .form-grid select {
    width: 100%;
    min-height: 38px;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid #2a3947;
    border-radius: 7px;
    background: #17212a;
    color: #e8edf2;
    font: inherit;
}
.ops-dialog .form-grid input:focus,
.ops-dialog .form-grid select:focus {
    outline: none;
    border-color: #568bb7;
    box-shadow: 0 0 0 2px rgba(86,139,183,.16);
}
.ops-dialog .form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}
@media (max-width: 640px) {
    .ops-dialog .form-grid { grid-template-columns: 1fr; }
    .ops-dialog .form-grid > label.full { grid-column: auto; }
}

/* 0.8.0 Staff Status */
.staff-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.staff-header h1{margin:5px 0 6px;font-size:32px}.staff-header p{margin:0;color:#8e9aa7}.staff-header-actions{display:flex;gap:8px}.staff-header-actions form{margin:0}.staff-sync{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:11px 14px;background:#16241d;border:1px solid #315541;border-radius:8px}.staff-sync span,.staff-sync small{color:#87958f;font-size:10px}.staff-sync.degraded{background:#282216;border-color:#68562f}.staff-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.staff-metrics>div{padding:14px 17px;background:#151d25;border:1px solid #27323d;border-radius:9px}.staff-metrics span,.staff-metrics strong{display:block}.staff-metrics span{color:#7f8b96;font-size:10px;text-transform:uppercase;letter-spacing:.6px}.staff-metrics strong{margin-top:4px;font-size:26px}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px}.staff-card{position:relative;padding:18px;background:#121920;border:1px solid #2b3742;border-left:4px solid #65727d;border-radius:10px;overflow:hidden}.staff-card-top{display:flex;gap:11px;align-items:center}.staff-card-top h2{margin:0 0 3px;font-size:17px}.staff-card-top small{color:#778490}.staff-presence-dot{width:13px;height:13px;flex:0 0 13px;border-radius:50%;background:#65727d;box-shadow:0 0 0 5px rgba(101,114,125,.12)}.presence-available{border-left-color:#55b381}.presence-available .staff-presence-dot{background:#55b381}.presence-busy,.presence-donotdisturb{border-left-color:#d76069}.presence-busy .staff-presence-dot,.presence-donotdisturb .staff-presence-dot{background:#d76069}.presence-away,.presence-berightback{border-left-color:#d1a84f}.presence-away .staff-presence-dot,.presence-berightback .staff-presence-dot{background:#d1a84f}.presence-offline{opacity:.68}.staff-state{margin-top:16px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.staff-activity{margin-top:3px;color:#81909d;font-size:10px}.staff-context{margin-top:14px;padding-top:12px;border-top:1px solid #25313b;color:#c3ccd4;font-size:12px}.staff-until{display:block;margin-top:5px;color:#73808c}.staff-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.staff-settings-card{padding:20px}.staff-settings-card h2{margin-top:0}.staff-display-create{display:flex;gap:8px;margin-bottom:15px}.staff-display-create input{flex:1;min-height:36px;padding:7px 9px;color:#dce5ec;background:#171f27;border:1px solid #33414e;border-radius:6px}.staff-display-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #27323d}.staff-display-list span,.staff-display-list small{display:block}.staff-display-list small{margin-top:3px;color:#788590}.staff-token-warning{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;padding:16px;background:#282216;border:1px solid #68562f;border-radius:9px}.staff-token-warning code{padding:9px;background:#10171d;border-radius:5px;overflow-wrap:anywhere}.staff-kiosk{margin:0;background:#0b1117;color:#e5edf3;font-family:Arial,sans-serif}.staff-kiosk>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 26px;border-bottom:1px solid #27323d;background:#101820}.staff-kiosk>header div{font-size:20px;font-weight:800;letter-spacing:1px}.staff-kiosk>header div strong{color:#65a9dd}.staff-kiosk>header span{text-align:center;font-weight:700}.staff-kiosk>header small{text-align:right;color:#75828e}.staff-kiosk-main{padding:22px!important}.staff-kiosk-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.staff-kiosk .staff-card{min-height:150px;padding:22px}.staff-kiosk .staff-card-top h2{font-size:23px}.staff-kiosk .staff-state{font-size:15px}.staff-kiosk .staff-context{font-size:15px}@media(max-width:900px){.staff-settings-grid{grid-template-columns:1fr}.staff-metrics{grid-template-columns:1fr 1fr}.staff-header{flex-direction:column}}@media(max-width:520px){.staff-metrics{grid-template-columns:1fr}.staff-display-create{flex-direction:column}}

.staff-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.staff-filters a{padding:7px 11px;border:1px solid #30404d;border-radius:7px;color:#9fadb9;text-decoration:none;background:#121920;font-size:12px}.staff-filters a:hover,.staff-filters a.active{color:#e8f0f6;background:#223343;border-color:#3d566b}.staff-display-create select,.staff-roster-row select,.staff-roster-row input{min-height:36px;padding:7px 9px;color:#dce5ec;background:#171f27;border:1px solid #33414e;border-radius:6px}.staff-roster-card{margin-top:16px}.staff-roster-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.staff-roster-heading h2{margin-bottom:4px}.staff-roster-heading>span{color:#82909c;font-size:12px}.staff-roster-row{display:grid;grid-template-columns:minmax(260px,2fr) 80px 75px 150px 80px 70px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #27323d}.staff-roster-person strong,.staff-roster-person small{display:block}.staff-roster-person small{margin-top:3px;color:#7f8b96}.staff-roster-state{font-size:11px;font-weight:700;color:#68c78f}.staff-roster-state.inactive{color:#8b969f}.staff-check{display:flex;align-items:center;gap:6px;font-size:12px}.staff-check input{min-height:auto}.staff-sort{width:100%}@media(max-width:1100px){.staff-roster-row{grid-template-columns:1fr 80px 75px 140px 70px}.staff-roster-person{grid-column:1/-1}.staff-display-create{flex-wrap:wrap}}

/* Staff Status 0.8.4 readability + daily calendar */
.staff-card-link{display:block;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease,background .15s ease}.staff-card-link:visited{color:inherit}.staff-card-link:hover{color:inherit;text-decoration:none;background:#151e26;border-color:#3d4e5d;transform:translateY(-1px)}
.staff-card-top h2{font-size:19px}.staff-state{font-size:16px;line-height:1.2;letter-spacing:.8px}.staff-activity{font-size:12px;line-height:1.35}.staff-context{font-size:14px;line-height:1.4}.staff-until{font-size:12px}.staff-card-detail-hint{display:block;margin-top:12px;color:#6f8292;font-size:10px;text-transform:uppercase;letter-spacing:.45px}.staff-card-link:hover .staff-card-detail-hint{color:#9db7cb}
.staff-kiosk .staff-card-top h2{font-size:26px}.staff-kiosk .staff-state{font-size:20px}.staff-kiosk .staff-context{font-size:18px}.staff-kiosk .staff-until{font-size:15px}
.watch-source-form select[name=default_dashboard_scope]{min-height:36px;padding:7px 9px;color:#dce5ec;background:#171f27;border:1px solid #33414e;border-radius:6px}
.staff-member-presence{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#121920;border:1px solid #2b3742;border-radius:9px}.staff-member-presence strong,.staff-member-presence small{display:block}.staff-member-presence strong{font-size:18px}.staff-member-presence small{margin-top:2px;color:#82909b}.staff-member-summary{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-bottom:16px}.staff-member-summary>div{padding:15px 17px;background:#151d25;border:1px solid #27323d;border-radius:9px}.staff-member-summary span,.staff-member-summary strong,.staff-member-summary small{display:block}.staff-member-summary span{color:#7f8b96;font-size:10px;text-transform:uppercase;letter-spacing:.6px}.staff-member-summary strong{margin-top:5px;font-size:15px}.staff-member-summary small{margin-top:4px;color:#7e8b96}.staff-day-card{padding:20px}.staff-day-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.staff-day-heading h2{margin:0 0 4px}.staff-day-heading p{margin:0}.staff-day-list{border-top:1px solid #27323d}.staff-day-event{display:grid;grid-template-columns:105px 1fr auto;gap:16px;align-items:center;min-height:70px;padding:12px 4px;border-bottom:1px solid #27323d}.staff-day-event.current{margin:0 -10px;padding-left:14px;padding-right:14px;background:#16241d;border-left:3px solid #55b381}.staff-day-event.past{opacity:.58}.staff-day-time strong,.staff-day-time small,.staff-day-body strong,.staff-day-body small{display:block}.staff-day-time strong{font-size:14px}.staff-day-time small,.staff-day-body small{margin-top:4px;color:#7f8b96}.staff-day-body strong{font-size:15px}.staff-day-badge{padding:5px 8px;border-radius:999px;background:#214d38;color:#8fd8ae;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.staff-calendar-error{margin-bottom:12px;padding:10px 12px;background:#282216;border:1px solid #68562f;border-radius:7px;color:#d7c38f}
@media(max-width:700px){.staff-member-summary{grid-template-columns:1fr}.staff-day-heading{flex-direction:column}.staff-day-event{grid-template-columns:85px 1fr}.staff-day-badge{grid-column:2}}

/* Staff Status 0.8.5 - kiosk roster controls and centered wallboard */
.staff-display-management{margin-top:16px}.staff-display-rule-list{display:grid;gap:14px;margin-top:14px}.staff-display-rule-card{padding:16px;border:1px solid #2b3742;border-radius:9px;background:#121920}.staff-display-rule-card.revoked{opacity:.62}.staff-display-rule-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.staff-display-rule-head strong,.staff-display-rule-head small{display:block}.staff-display-rule-head small{margin-top:3px;color:#7f8b96}.staff-display-rule-head form{margin:0}.staff-display-rule-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.staff-display-rule-controls label>span{display:block;margin-bottom:5px;color:#9aa7b2;font-size:11px;font-weight:700}.staff-display-rule-controls select{width:100%;min-height:38px;padding:7px 9px;color:#dce5ec;background:#171f27;border:1px solid #33414e;border-radius:6px}.staff-display-people{margin-top:14px;padding-top:14px;border-top:1px solid #27323d}.staff-display-people-heading strong,.staff-display-people-heading small{display:block}.staff-display-people-heading small{margin-top:3px;color:#7f8b96}.staff-display-people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:10px}.staff-display-person{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #2b3742;border-radius:7px;background:#151d25;cursor:pointer}.staff-display-person input{margin:0}.staff-display-person span,.staff-display-person strong,.staff-display-person small{display:block}.staff-display-person strong{font-size:12px}.staff-display-person small{margin-top:2px;color:#7d8994;font-size:10px}.staff-display-rule-form>.form-actions{margin-top:14px}.staff-kiosk-grid{grid-template-columns:repeat(auto-fit,minmax(300px,360px));justify-content:center;align-items:stretch}.staff-kiosk-grid .staff-card{width:100%;min-width:0}.staff-kiosk-empty{grid-column:1/-1;justify-self:center;margin-top:8vh;padding:24px 32px;border:1px solid #2b3742;border-radius:10px;color:#80909e;background:#121920;font-size:18px}@media(max-width:700px){.staff-display-rule-controls{grid-template-columns:1fr}.staff-display-rule-head{align-items:flex-start;flex-direction:column}}

/* ==========================================================
   AIS OPS - Staff Status kiosk readability (0.8.9 scoped restore)
   Kiosk-only: do not allow wallboard rules to affect normal OPS pages.
   ========================================================== */
.staff-kiosk .staff-kiosk-main {
    padding: 26px 30px 34px !important;
}

.staff-kiosk .staff-kiosk-metrics {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin: 0 auto 28px;
    max-width: 1500px;
}

.staff-kiosk .staff-kiosk-metrics > div {
    min-width: 150px;
    padding: 13px 20px 14px;
    background: #151f28;
    border: 1px solid #34424f;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 7px 20px rgba(0, 0, 0, .20);
}

.staff-kiosk .staff-kiosk-metrics span,
.staff-kiosk .staff-kiosk-metrics strong {
    display: block;
}

.staff-kiosk .staff-kiosk-metrics span {
    color: #91a0ad;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.staff-kiosk .staff-kiosk-metrics strong {
    margin-top: 4px;
    color: #f0f5f8;
    font-size: 31px;
    line-height: 1;
}

.staff-kiosk .staff-kiosk-metrics .available { border-top: 3px solid #55b381; }
.staff-kiosk .staff-kiosk-metrics .busy { border-top: 3px solid #d76069; }
.staff-kiosk .staff-kiosk-metrics .away { border-top: 3px solid #d1a84f; }
.staff-kiosk .staff-kiosk-metrics .offline { border-top: 3px solid #71808d; }

.staff-kiosk .staff-kiosk-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    width: 100%;
    max-width: 1900px;
    margin: 0 auto;
}

.staff-kiosk .staff-kiosk-grid .staff-card {
    flex: 0 1 350px;
    width: min(350px, 100%);
    min-height: 178px;
    padding: 24px;
    background: #17212a;
    border: 1px solid #3a4855;
    border-left-width: 5px;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .30), 0 0 0 1px rgba(255,255,255,.025);
}

.staff-kiosk .staff-kiosk-grid .presence-available {
    border-left-color: #55b381;
    box-shadow: 0 10px 28px rgba(0,0,0,.30), 0 0 18px rgba(85,179,129,.07);
}

.staff-kiosk .staff-kiosk-grid .presence-busy,
.staff-kiosk .staff-kiosk-grid .presence-donotdisturb {
    border-left-color: #d76069;
    box-shadow: 0 10px 28px rgba(0,0,0,.30), 0 0 18px rgba(215,96,105,.07);
}

.staff-kiosk .staff-kiosk-grid .presence-away,
.staff-kiosk .staff-kiosk-grid .presence-berightback {
    border-left-color: #d1a84f;
    box-shadow: 0 10px 28px rgba(0,0,0,.30), 0 0 18px rgba(209,168,79,.07);
}

.staff-kiosk .staff-kiosk-grid .presence-offline,
.staff-kiosk .staff-kiosk-grid .presence-presenceunknown,
.staff-kiosk .staff-kiosk-grid .presence-unknown {
    border-left-color: #71808d;
}

.staff-kiosk .staff-presence-dot {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
}

.staff-kiosk .staff-card-top h2 { font-size: 25px; }
.staff-kiosk .staff-state { margin-top: 17px; font-size: 18px; }
.staff-kiosk .staff-context { font-size: 16px; line-height: 1.35; }
.staff-kiosk .staff-until { margin-top: 7px; color: #a5b1bb; font-size: 14px; }

@media (max-width: 700px) {
    .staff-kiosk .staff-kiosk-main { padding: 18px !important; }
    .staff-kiosk .staff-kiosk-metrics { gap: 9px; margin-bottom: 18px; }
    .staff-kiosk .staff-kiosk-metrics > div { min-width: 125px; padding: 11px 14px; }
    .staff-kiosk .staff-kiosk-grid .staff-card { flex-basis: 100%; width: 100%; }
}

/* Staff Status 0.8.10 - force true centered flex rows on kiosk */
.staff-kiosk main.staff-kiosk-main .staff-kiosk-grid {
    display: flex !important;
    flex-flow: row wrap !important;
    justify-content: center !important;
    align-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.staff-kiosk main.staff-kiosk-main .staff-kiosk-grid > .staff-card {
    flex: 0 0 350px !important;
    width: 350px !important;
    max-width: calc(100vw - 60px) !important;
}
@media (max-width: 700px) {
    .staff-kiosk main.staff-kiosk-main .staff-kiosk-grid > .staff-card {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Staff Status 0.8.11 - kiosk must not inherit the normal OPS sidebar offset */
.staff-kiosk main.staff-kiosk-main {
    margin-left: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 0.8.12 terminology: Resource Allocation */

/* Datto BCDR discovery */
.bcdr-config-panel{margin-bottom:18px}.bcdr-settings-form{padding:18px}.bcdr-toggle{display:flex;align-items:center;gap:9px;margin-bottom:16px;font-weight:700}.bcdr-toggle input{width:auto}.bcdr-form-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.bcdr-form-grid label span{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;color:var(--muted,#8ea0b3);font-weight:700}.bcdr-form-grid label small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#62dc95}.bcdr-form-grid input{width:100%}.bcdr-actions{margin-top:16px}.bcdr-secondary-actions{display:flex;gap:10px;padding:0 18px 18px}.bcdr-secondary-actions form{margin:0}.bcdr-table code{font-size:12px}.bcdr-table td small{display:block;color:var(--muted,#8ea0b3);margin-top:3px}.empty-state{text-align:center;color:var(--muted,#8ea0b3);padding:28px!important}@media(max-width:900px){.bcdr-form-grid{grid-template-columns:1fr}.bcdr-secondary-actions{flex-wrap:wrap}}

/* AIS OPS environment identity - TEST only, activated by AIS_OPS_ENV=TEST */
.environment-banner {display:none}.aisops-test-environment .environment-banner{position:fixed;top:0;left:0;right:0;z-index:10000;display:flex;align-items:center;justify-content:center;gap:12px;height:34px;background:#7c3aed;color:#fff;font-size:13px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;box-shadow:0 2px 10px rgba(0,0,0,.35)}.aisops-test-environment .environment-banner span{opacity:.78;font-size:10px;font-weight:700;letter-spacing:.8px}.aisops-test-environment .sidebar{top:34px;height:calc(100vh - 34px);border-right-color:rgba(167,139,250,.45)}.aisops-test-environment main{padding-top:58px}.aisops-test-environment .sidebar nav a.active,.aisops-test-environment .sidebar nav a:hover{border-left-color:#a78bfa}.environment-sidebar-badge{display:inline-block;margin-left:7px;padding:2px 6px;border:1px solid #a78bfa;border-radius:5px;color:#c4b5fd;font-size:9px;line-height:1.2;letter-spacing:.9px;vertical-align:1px}
