/* 2Desk dark interface, applied consistently across the application. */
:root {
    color-scheme: dark;
    color: #e8f0fc;
    background: #081326;
    --blue: #54c8f5;
    --muted: #9bb0cf;
    --line: #263958;
    --tone-info: #55c9f5;
    --tone-info-bg: #142b49;
    --tone-info-border: #28527a;
    --tone-success: #55d9a5;
    --tone-success-bg: #12372e;
    --tone-success-border: #205844;
    --tone-warning: #ffd078;
    --tone-warning-bg: #392d1b;
    --tone-warning-border: #67502b;
    --tone-danger: #ff8797;
    --tone-danger-bg: #40202d;
    --tone-danger-border: #703446;
    --tone-neutral: #b0bfd4;
    --tone-neutral-bg: #1d2a40;
    --tone-neutral-border: #344663;
    --surface: #0e1c34;
    --surface-raised: #142440;
    --surface-sunken: #09172d;
}

html,
body { min-height: 100%; background: #081326; color: #e8f0fc; }
body { background: linear-gradient(145deg, #071124, #0a1730 58%, #0c1930); }
a { color: #69d4f6; }
a:hover { color: #a3e9ff; }
h1,h2,h3,h4,h5,h6,strong,b,legend { color: #edf5ff; }
p,.muted,.help,.small,.empty { color: #9bb0cf; }
::selection { color: #06152a; background: #67d8fb; }
hr { border: 0; border-top: 1px solid #263958; }

button,
.button {
    color: #f5faff;
    background: linear-gradient(105deg, #1764b5, #315fc0);
    box-shadow: 0 5px 16px #02081735;
}
button:hover,
.button:hover { color: #fff; background: linear-gradient(105deg, #2079ca, #426ed0); }
button.secondary,
.button.secondary {
    color: #dce9f9;
    background: #172a47;
    border: 1px solid #304767;
    box-shadow: none;
}
button.secondary:hover,
.button.secondary:hover { color: #fff; background: #203959; }
button.danger {
    color: #ffb4bf;
    background: #452330;
    border: 1px solid #71394a;
}
button.danger:hover { background: #5a2a3b; }
button:disabled,.button[aria-disabled="true"] { opacity: .48; }
button.sales-table-card { color: #e8f0fc; background: var(--surface-raised); border: 1px solid var(--line); box-shadow: none; }
button.sales-table-card:hover { color: #fff; background: #1a3152; }
button.sales-table-card.is-selected { color: #fff; background: #173c70; border-color: #55c9f5; box-shadow: 0 0 0 3px #55c9f544; }
button:focus-visible,
.button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline-color: #55d5ff; }

input,
select,
textarea {
    color: #e8f0fc;
    background: #09172d;
    border-color: #304767;
}
input::placeholder,
textarea::placeholder { color: #8196b4; opacity: 1; }
input:disabled,
select:disabled,
textarea:disabled { color: #8da1bc; background: #111e34; }
input[type="checkbox"],
input[type="radio"] { accent-color: #38bdf0; }
label { color: #dbe8f8; }
.help,.field-help,.form-hint { color: #91a7c6; }
.field-error { color: #ff9aa8; }
.readonly-field { color: #dbe8f8; background: #142440; border: 1px solid #263958; }

.sidebar { background: #060b1e; color: #a9bdd8; }
.brand small { color: #a9bdd8; }
.company-tag { color: #eff6ff; background: #111f38; border-color: #263958; }
.company-tag small { color: #91a7c6; }
.nav a { color: #b4c5dc; }
.nav a:hover { color: #fff; background: #ffffff10; }
.nav a.active { color: #fff; background: linear-gradient(105deg, #174f98, #245aa4); }
.mobile-nav { color: #dfeafa; background: #0d1b33; border: 1px solid #263958; }
.mobile-nav > summary { color: #eaf4ff; background: #142440; border: 1px solid #304767; }
.mobile-nav .nav { background: #0d1b33; }
.sidebar-foot { color: #8498b5; }

.workspace { background: transparent; }
.topbar {
    color: #edf5ff;
    background: #0b1730;
    border-color: #263958;
}
.topbar .context { color: #9bb0cf; }
.account-name { color: #edf5ff; }
.account-name small { color: #91a7c6; }
.avatar { color: #d9ebff; background: #1a2d49; }
.notification-bell { color: #cfe4ff; background: #12213c; border-color: #304767; }
.notification-bell:hover { color: #fff; background: #1a3152; }
.support-message { border-color: var(--line); }
.support-message-platform { border-left-color: #54c8f5; }
.support-message-company { border-left-color: #55d9a5; }
.support-request-row { border-color: var(--line); }
.notification-count { color: #071326; background: #54d3f5; }
.content { color: #e8f0fc; }
.page-head h1 { color: #f4f8ff; }
.page-head p { color: #9bb0cf; }
.eyebrow { color: #6ed7ff; }

.panel,
.stat,
.company-card,
.knowledge-card,
.notification-card,
.company-access,
.company-access .panel,
.platform-company-list,
.platform-create,
.monitor-card,
.monitor-note,
.attachment-card,
.work-history-change,
.ops-filters-panel,
.company-invite,
.ticket-detail,
.asset-detail,
.contract-detail {
    color: #e8f0fc;
    background: linear-gradient(150deg, #101f39, #0d1b33 78%);
    border-color: #263958;
}
.panel p,.stat .label,.company-card p,.knowledge-card p,.notification-card p { color: #9bb0cf; }
.panel h2,.panel h3,.notification-card h2,.knowledge-card h2 { color: #edf5ff; }
.company-icon { color: #66d5fa; background: #142b49; }
.stat { --card-tone: #a0b4d0; }
.stat.tone-info { --card-tone: #55c9f5; background: linear-gradient(150deg, #142b49, #0e1c34 78%); }
.stat.tone-success { --card-tone: #55d9a5; background: linear-gradient(150deg, #12372e, #0e1c34 78%); }
.stat.tone-warning { --card-tone: #ffd078; background: linear-gradient(150deg, #392d1b, #0e1c34 78%); }
.stat.tone-danger { --card-tone: #ff8797; background: linear-gradient(150deg, #40202d, #0e1c34 78%); }
.stat.tone-neutral { --card-tone: #b0bfd4; background: linear-gradient(150deg, #1d2a40, #0e1c34 78%); }
.stat .tag { color: var(--card-tone, #55c9f5); }
.stat .value { color: #f5f9ff; }
.stat .label { color: #9bb0cf; }
a.stat-link:hover { box-shadow: 0 12px 28px #02081755; }
.stat-link .card-action { color: var(--card-tone, #55c9f5); }
.pill { color: #c4d3e8; background: #1b2b45; }
.pill.green,.pill.status-resolved,.pill.status-closed,.pill.status-done,.pill.status-available,.pill.status-active { color: #7ce2b5; background: #123b36; }
.pill.blue,.pill.tone-info,.pill.status-open,.pill.status-in-progress,.pill.status-in_progress,.pill.status-in_use,.pill.status-in-use,.pill.status-todo,.pill.status-trial { color: #7bdcff; background: #142f50; }
.pill.tone-warning,.pill.status-waiting,.pill.status-maintenance,.pill.status-due,.pill.status-suspended { color: #ffd078; background: #3a2d1b; }
.pill.tone-danger,.pill.status-blocked,.pill.status-overdue { color: #ff9aa8; background: #432230; }
.pill.status-cancelled,.pill.status-retired,.pill.status-paused,.pill.status-draft,.pill.status-ended,.pill.priority-low { color: #b0bfd4; background: #1d2a40; }
.pill.priority-normal { color: #7bdcff; background: #142f50; }
.pill.priority-high { color: #ffd078; background: #3a2d1b; }
.pill.priority-urgent { color: #ff9aa8; background: #432230; }
.overdue,.sla-warning { color: #ff8797; }
.due-soon { color: #ffd078; }
.sla-met { color: #55d9a5; }

.notice { color: #8ce6bd; background: #10372e; border-color: #215a45; }
.notice.error { color: #ffadb7; background: #41212e; border-color: #713a4b; }
.notice.info { color: #9ee7ff; background: #142d4b; border-color: #2b527a; }
.notice ul { color: inherit; }
.check { color: #dce9f9; background: #142440; }
.checks { color: #dce9f9; }
.empty { color: #9bb0cf; }

table { color: #dce8f8; }
th { color: #9bb0cf; background: #12213c; border-color: #2a405e; }
td { color: #dce8f8; border-color: #223550; }
tbody tr:hover { background: #14244066; }
.table-wrap { border-color: #263958; }
.responsive-table tr { border-color: #263958; }
.responsive-table td::before { color: #91a7c6; }
.inline-form select { color: #e8f0fc; background: #09172d; border-color: #304767; }
.pagination { color: #b8cbe4; }
.pagination a { color: #69d4f6; }

.kanban-column { --lane-bg: #111f39; border-color: #263958; background: #111f39; }
.kanban-column[data-status="todo"] { --lane-tone: #55c9f5; --lane-bg: #132a46; }
.kanban-column[data-status="in_progress"] { --lane-tone: #aa8cff; --lane-bg: #211d3b; }
.kanban-column[data-status="blocked"] { --lane-tone: #ff8797; --lane-bg: #39202d; }
.kanban-column[data-status="done"] { --lane-tone: #55d9a5; --lane-bg: #12372e; }
.kanban-column[data-status="cancelled"] { --lane-tone: #a0b1c9; --lane-bg: #1b293f; }
.kanban-column > summary { color: #edf5ff; }
.kanban-card { color: #e8f0fc; background: #142440; border-color: #2a405e; box-shadow: 0 8px 18px #02081720; }
.kanban-card h3 { color: #f0f6ff; }

.calendar-grid { background: #263958; border-color: #263958; }
.calendar-weekday { color: #bed0e8; background: #142440; }
.calendar-day { color: #e0ebf8; background: #0e1c34; }
.calendar-day.outside-month { color: #7288a7; background: #0a162b; }
.calendar-day.is-today { background: #142c49; box-shadow: inset 0 0 0 1px #38bdf055; }
.calendar-entry { color: #d8e7fa; background: #1b2e4a; }
.calendar-appointment { color: #d8c8ff; background: #292145; }
.calendar-task { color: #9be5ff; background: #142f50; }
.calendar-task.calendar-done { color: #8ae5bd; background: #123b36; }
.calendar-task.calendar-overdue { color: #ff9aa8; background: #432230; }
.calendar-toolbar h2 { color: #f0f6ff; }

.dashboard-row,.ticket-message,.contract-service,.stock-entry,.work-history-entry,.notification-rule,.notification-choice-group,.sla-target,.checklist-step { border-color: #263958; }
.dashboard-row .help,.notification-meta,.audit-detail { color: #91a7c6; }
.attachment-thumbnail { color: #a9bdd8; background: #142440; }
.attachment-card,.attachment-thumbnail img { border-color: #304767; }
.stock-entry .message-body { color: #dce8f8; background: #142440; }
.message-body { color: #dce8f8; }
.ticket-internal { border-color: #304767; }
.ticket-internal summary { color: #c5d8f0; }
.notification-unread { border-left-color: #54c8f5; }
.notification-filters a { color: #69d4f6; }
.notification-meta { color: #91a7c6; }
.notification-rule h2 { color: #edf5ff; }
.notification-choice-group { background: transparent; }
.work-history-changes summary { color: #69d4f6; }
.sla-priority-heading { color: #a9bdd8; }
.sla-weekdays { color: #dce8f8; background: #101f39; border-color: #304767; }
.knowledge-summary { color: #b4c5dc; border-color: #263958; }
.knowledge-body { color: #dce8f8; }
.ops-filters-panel > summary,.company-access summary,.contract-service summary { color: #e6effb; }
.ops-filters-panel[open] { background: #0e1c34; }
.role-row { border-color: #263958; }
.role-row span { color: #9bb0cf; }

/* The 2Desk administration stays compact while using the same dark palette. */
.platform-admin { color: #e8f0fc; background: #081326; }
.platform-admin .sidebar { color: #a9bdd8; background: #060b1e; border-color: #263958; }
.platform-admin .brand { color: #edf5ff; }
.platform-admin .brand small { color: #a9bdd8; }
.platform-admin .nav a { color: #aebfd7; background: transparent; }
.platform-admin .nav a:hover { color: #fff; background: #ffffff0e; }
.platform-admin .nav a.active { color: #f4f8ff; background: #15345d; }
.platform-admin .topbar { color: #edf5ff; background: #0b1730; border-color: #263958; }
.platform-admin .topbar .context,.platform-admin .account-name small { color: #9bb0cf; }
.platform-admin .account-name { color: #edf5ff; }
.platform-admin .notification-bell { color: #cfe4ff; background: #12213c; }
.platform-admin .notification-count { color: #071326; background: #54d3f5; }
.platform-admin .notification-unread { border-left-color: #54c8f5; }
.platform-admin .content { color: #e8f0fc; background: #081326; }
.platform-admin .page-head h1,.platform-admin h2 { color: #f4f8ff; }
.platform-admin .page-head p { color: #9bb0cf; }
.platform-admin .panel,
.platform-admin .platform-company-list,
.platform-admin .platform-create,
.platform-admin .monitor-card,
.platform-admin .monitor-note,
.platform-admin .platform-access > .panel { color: #e8f0fc; background: #0e1c34; border-color: #263958; }
.platform-admin .platform-companies th,
.platform-admin .monitor-table th { color: #a7bad4; background: #142440; border-color: #304767; }
.platform-admin .platform-companies td,
.platform-admin .monitor-table td { color: #dce8f8; border-color: #263958; }
.platform-admin .platform-companies td::before { color: #91a7c6; }
.platform-admin .platform-companies strong { color: #edf5ff; }
.platform-admin .button,
.platform-admin button { color: #f5faff; background: linear-gradient(105deg, #1764b5, #315fc0); }
.platform-admin .button:hover,
.platform-admin button:hover { color: #fff; background: linear-gradient(105deg, #2079ca, #426ed0); }
.platform-admin .button.secondary,
.platform-admin button.secondary,
.platform-admin .secondary { color: #dce9f9; background: #172a47; border: 1px solid #304767; }
.platform-admin .button.secondary:hover,
.platform-admin button.secondary:hover,
.platform-admin .secondary:hover { color: #fff; background: #203959; }
.platform-admin .danger { color: #ffb4bf; background: #452330; border-color: #71394a; }
.platform-admin .company-status { color: #b0bfd4; }
.platform-admin .company-status.is-active { color: #70dcb0; }
.platform-admin .platform-row-actions a,
.platform-admin .platform-section-head > a { color: #69d4f6; }
.platform-admin .platform-create > summary { color: #eaf3ff; }
.platform-admin .platform-access { color: #e8f0fc; }
.platform-admin .monitor-label { color: #9bb0cf; }
.platform-admin .monitor-value { color: #f0f6ff; }
.platform-admin .monitor-meta,.platform-admin .monitor-chart-caption { color: #9bb0cf; }
.platform-admin .monitor-meter { background: #263958; }
.platform-admin .monitor-meter span { background: linear-gradient(90deg, #38c5f5, #8c7cff); }
.platform-admin .monitor-alert { color: #ffd078; background: #392d1b; border-color: #ffc45c; }
.platform-admin .monitor-alert.is-critical { color: #ff9aa8; background: #40202d; border-color: #ff7185; }
.platform-admin .monitor-alert.is-ok { color: #7ce2b5; background: #12372e; border-color: #39d6a0; }
.platform-admin .monitor-chart { border-color: #304767; }
.platform-admin .monitor-chart-panel { color: #e8f0fc; background: #0b1830; border-color: #263958; }
.platform-admin .monitor-periods .is-selected { color: #eaf5ff; border-color: #38c5f5; background: #12304d; }
.platform-admin .monitor-chart-bar { background: #142440; }
.platform-admin .monitor-chart-bar span { background: linear-gradient(180deg, #38c5f5, #8c7cff); }
.platform-admin .monitor-chart-bar:hover span { background: #8c7cff; }
.platform-admin .monitor-note { color: #b7c9e1; }
.platform-admin .plan-modules { color: #dce8f8; background: #0e1c34; border-color: #304767; }
.platform-admin .plan-modules legend { color: #edf5ff; }
.platform-admin .mobile-nav { color: #dfeafa; background: #0d1b33; border-color: #263958; }
.platform-admin .mobile-nav > summary { color: #eaf4ff; background: #142440; border-color: #304767; }
.platform-admin .mobile-nav .nav { background: #0d1b33; }

.auth-page { color: #e8f0fc; background: #081326; }
.auth-intro { color: #f5f9ff; background: #060b1e; }
.auth-main { background: #0b1730; }
.auth-form { color: #e8f0fc; }
.auth-form h1,.auth-form h2 { color: #f4f8ff; }
.auth-form p,.auth-form .footnote { color: #9bb0cf; }
.auth-form a { color: #69d4f6; }
.auth-foot { color: #91a7c6; }

@media (max-width: 750px) {
    .sidebar { background: #060b1e; border-color: #263958; }
    .topbar { background: #0b1730; }
    .platform-admin .sidebar { background: #060b1e; border-color: #263958; }
    .platform-admin .topbar { background: #0b1730; }
    .platform-admin .platform-companies tr,
    .platform-admin .platform-access .table-wrap tr,
    .platform-admin .monitor-table tr { border-color: #263958; }
}

@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior: auto !important; }
}

.inventory-search-bar {
    color: #e8f0fc;
    background: #0d1b33;
    border-color: #304767;
    box-shadow: 0 10px 28px #02081788;
}
.inventory-search-bar label { color: #dbe8f8; }
.inventory-advanced-filters { background: linear-gradient(150deg, #101f39, #0d1b33 78%); }
.asset-quick-status {
    display: flex;
    align-items: center;
    gap: 6px;
    width: min(100%, 230px);
    margin-top: 6px;
}
.asset-quick-status select {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    min-height: 32px;
    padding: 5px 25px 5px 8px;
    color: #e8f0fc;
    background: #0a1730;
    border-color: #365170;
    font-size: 12px;
}
.asset-quick-status select:focus { border-color: #3cc9ff; }
.asset-quick-status button { flex: 0 0 auto; min-height: 32px; padding: 6px 9px; font-size: 11px; }
.inventory-table th { padding: 0 10px 10px; }
.inventory-table td { padding: 9px 10px; }
.app-toast {
    position: fixed;
    z-index: 1200;
    top: 24px;
    right: 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    width: max-content;
    max-width: min(440px, calc(100vw - 32px));
    padding: 14px 16px;
    border: 1px solid #1f8b64;
    border-radius: 12px;
    color: #d7ffed;
    background: #103d32;
    box-shadow: 0 16px 42px #020817aa;
    font-weight: 650;
    line-height: 1.45;
}
.app-toast-error { border-color: #bb5263; color: #ffe2e7; background: #48212d; }
.app-toast-close {
    flex: 0 0 auto;
    border: 0;
    padding: 0 2px;
    color: inherit;
    background: transparent;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
.inventory-table .help { margin-top: 3px; line-height: 1.35; }
.inventory-table .member-name { display: inline-block; margin-bottom: 1px; }
.inventory-table [data-label="Situação"] { min-width: 165px; }
select[data-inventory-status][data-status="available"] { color: #7ce2b5; border-color: #39a979; }
select[data-inventory-status][data-status="in_use"] { color: #7bdcff; border-color: #398ec2; }
select[data-inventory-status][data-status="maintenance"] { color: #ffd078; border-color: #b88635; }
select[data-inventory-status][data-status="retired"] { color: #b0bfd4; border-color: #71819a; }
select[data-inventory-status] option[value="available"] { color: #7ce2b5; background: #123b36; }
select[data-inventory-status] option[value="in_use"] { color: #7bdcff; background: #142f50; }
select[data-inventory-status] option[value="maintenance"] { color: #ffd078; background: #3a2d1b; }
select[data-inventory-status] option[value="retired"] { color: #b0bfd4; background: #1d2a40; }

/* Let every authenticated workspace use the viewport instead of a centered fixed-width column. */
.content,
.platform-admin .content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(22px, 2vw, 38px);
}

.topbar-start {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 15px;
}
.topbar-start .context { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-toggle {
    position: relative;
    flex: 0 0 auto;
    min-height: 40px;
    padding: 8px 11px;
    border-radius: 9px;
    font-size: 12px;
    white-space: nowrap;
}
.sidebar-toggle-icon { font-size: 17px; line-height: 1; }

html.sidebar-collapsed .sidebar { display: none !important; }
html.sidebar-collapsed .workspace { margin-left: 0 !important; }

@media (max-width: 750px) {
    .content,
    .platform-admin .content { padding: 22px 16px; }
    .topbar-start { gap: 0; }
    .sidebar-toggle { min-height: 40px; }
}

@media (max-width: 480px) {
    .sidebar-toggle { width: 42px; height: 42px; padding: 0; }
    .sidebar-toggle [data-sidebar-toggle-label] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
}

/* Group related destinations so the sidebar stays easy to scan. */
.nav-group {
    min-width: 0;
    border: 1px solid transparent;
    border-radius: 10px;
}

.nav-group > summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 38px;
    padding: 8px 11px;
    border-radius: 9px;
    color: #91a7c6;
    cursor: pointer;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .1em;
    list-style: none;
    text-transform: uppercase;
    user-select: none;
}

.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary::after {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    content: "";
    transform: rotate(45deg) translateY(-2px);
    transition: transform .16s ease;
}
.nav-group:not([open]) > summary::after { transform: rotate(-45deg); }
.nav-group > summary:hover { color: #eaf4ff; background: #ffffff0a; }
.nav-group > summary:focus-visible { outline: 2px solid #3cc9ff; outline-offset: 2px; }
.nav-group[open] {
    border-color: #1d3152;
    background: #0a1427;
}
.nav-group[open] > summary { color: #c8dcf8; }
.nav-group-items { display: grid; gap: 3px; padding: 2px 5px 7px; }
.nav-group-items a { min-width: 0; }
.nav-group-items a.active { box-shadow: inset 2px 0 #4bd3ff; }
.nav-group-platform { margin-top: 8px; border-top-color: #263958; border-radius: 0; padding-top: 8px; }
.nav-group-platform[open] { border-radius: 10px; }

.platform-admin .nav-group > summary { color: #91a7c6; }
.platform-admin .nav-group[open] { border-color: #1d3152; background: #0a1427; }
.platform-admin .nav-group[open] > summary { color: #c8dcf8; }
.platform-admin .nav-group > summary:hover { color: #eaf4ff; background: #ffffff0a; }

@media (max-width: 750px) {
    .mobile-nav[open] .nav,
    .platform-admin .mobile-nav[open] .nav {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-content: start;
        max-height: min(58vh, 480px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 10px 4px 4px;
    }

    .mobile-nav .nav-group { min-width: 0; }
    .mobile-nav .nav-group-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .platform-admin .mobile-nav .nav-group-items { display: grid; }
}

@media (max-width: 480px) {
    .mobile-nav .nav-group-items { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 750px) {
    .inventory-table th { padding: 0; }
    .inventory-table td { padding: 7px 0; }
    .inventory-table [data-label="Situação"] { display: block; min-width: 0; text-align: left; }
    .inventory-table [data-label="Situação"]::before { display: block; margin-bottom: 5px; }
    .asset-quick-status { width: 100%; max-width: 300px; margin-left: 0; }
}
