/* Graphilence Team Hub 2.1 theme system.
   Loaded last so every core dashboard color follows the palette saved in Dashboard Settings. */

:root{
  --gth-font:'Archivo',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --gth-accent-2:#7C3AED;
  --gth-sidebar-text:#FFFFFF;
  --gth-sidebar-muted:#B8C4D1;
  --gth-input-bg:#FFFFFF;
  --gth-button-text:#FFFFFF;
  --gth-shadow-rgb:15,23,42;
  --gth-shadow-xs:0 1px 2px rgba(var(--gth-shadow-rgb),.04);
  --gth-shadow-sm:0 8px 22px rgba(var(--gth-shadow-rgb),.08);
  --gth-shadow:0 18px 45px rgba(var(--gth-shadow-rgb),.12);
  --gth-focus:0 0 0 4px rgba(var(--gth-accent-rgb),.16);
}

html,body,.gth-app,.gth-login-shell,.gth-access-card,
.gth-app button,.gth-app input,.gth-app select,.gth-app textarea,
.gth-login-shell input,.gth-login-shell button{font-family:var(--gth-font)!important}

body.gth-dashboard-page,.gth-app{background-color:var(--gth-bg)!important;color:var(--gth-text)!important}
.gth-app{background-image:radial-gradient(circle at 92% 4%,rgba(var(--gth-accent-rgb),.08),transparent 24rem)!important}
.gth-main{color:var(--gth-text)}
.gth-view h1,.gth-view h2,.gth-view h3,.gth-view h4,.gth-topbar h1,
.gth-card h1,.gth-card h2,.gth-card h3,.gth-card h4,.gth-modal h2,.gth-modal h3,
.gth-project-card h3,.gth-person strong,.gth-user-chip strong{color:var(--gth-heading)!important}
.gth-view p,.gth-card p,.gth-modal p,.gth-user-chip small,.gth-cell-sub,.gth-date,
.gth-card-head p,.gth-section-title p,.gth-welcome-row p,.gth-rule-note{color:var(--gth-muted)!important}

/* Navigation */
.gth-sidebar{background:linear-gradient(165deg,var(--gth-navy),color-mix(in srgb,var(--gth-navy) 76%,#000))!important;border-right-color:color-mix(in srgb,var(--gth-sidebar-text) 12%,transparent)!important;box-shadow:18px 0 48px rgba(var(--gth-shadow-rgb),.15)}
.gth-brand{border-bottom-color:color-mix(in srgb,var(--gth-sidebar-text) 14%,transparent)!important}
.gth-brand strong,.gth-sidebar-bottom a,.gth-nav-item.is-active{color:var(--gth-sidebar-text)!important}
.gth-brand small,.gth-nav-item,.gth-sidebar-bottom a{color:var(--gth-sidebar-muted)!important}
.gth-nav-item:before{background:color-mix(in srgb,var(--gth-sidebar-muted) 45%,transparent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--gth-sidebar-muted) 10%,transparent)!important}
.gth-nav-item:hover{color:var(--gth-sidebar-text)!important;background:color-mix(in srgb,var(--gth-sidebar-text) 10%,transparent)!important}
.gth-nav-item.is-active{background:linear-gradient(90deg,color-mix(in srgb,var(--gth-sidebar-text) 18%,transparent),color-mix(in srgb,var(--gth-sidebar-text) 8%,transparent))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gth-sidebar-text) 10%,transparent),0 8px 20px rgba(var(--gth-shadow-rgb),.14)!important}
.gth-nav-item.is-active:before{background:var(--gth-accent)!important;box-shadow:0 0 0 5px rgba(var(--gth-accent-rgb),.18)!important}
.gth-logo-mark{background:linear-gradient(145deg,var(--gth-accent),var(--gth-accent-2))!important;color:var(--gth-button-text)!important;box-shadow:0 10px 26px rgba(var(--gth-accent-rgb),.30),inset 0 1px 0 color-mix(in srgb,var(--gth-button-text) 28%,transparent)!important}

/* Surfaces */
.gth-topbar{background:color-mix(in srgb,var(--gth-bg) 88%,transparent)!important;border-bottom-color:color-mix(in srgb,var(--gth-border) 88%,transparent)!important}
.gth-user-chip,.gth-card,.gth-project-card,.gth-project-mini,.gth-assignment-card,.gth-kpi,
.gth-login-panel,.gth-access-card,.gth-table-wrap,.gth-modal,.gth-team-card{background:var(--gth-surface)!important;border-color:var(--gth-border)!important;box-shadow:var(--gth-shadow-xs)}
.gth-card.is-soft,.gth-activity-card,.gth-project-card,.gth-project-mini,.gth-assignment-card{background:linear-gradient(180deg,var(--gth-surface),var(--gth-surface-alt,var(--gth-surface-2)))!important}
.gth-project-meta>div,.gth-report-snapshot>div,.gth-time-grid>div,.gth-rule-list>div,
.gth-report-filters,.gth-code{background:var(--gth-surface-2)!important;border-color:var(--gth-border)!important}
.gth-subnav,.gth-segmented,.gth-status-buttons{background:var(--gth-surface-3)!important;border-color:var(--gth-border)!important}
.gth-subnav button.is-active{background:var(--gth-surface)!important;color:var(--gth-heading)!important}
.gth-setup-banner{background:color-mix(in srgb,var(--gth-accent) 8%,var(--gth-surface))!important;border-color:color-mix(in srgb,var(--gth-accent) 28%,var(--gth-border))!important}

/* Buttons and links */
.gth-button,.gth-login-panel input[type=submit]{background:linear-gradient(135deg,var(--gth-accent),var(--gth-accent-2))!important;border-color:var(--gth-accent)!important;color:var(--gth-button-text)!important;box-shadow:0 8px 18px rgba(var(--gth-accent-rgb),.24)!important}
.gth-button:hover,.gth-login-panel input[type=submit]:hover{box-shadow:0 11px 25px rgba(var(--gth-accent-rgb),.31)!important}
.gth-button-secondary{background:var(--gth-surface)!important;color:var(--gth-text)!important;border-color:var(--gth-border-strong)!important;box-shadow:var(--gth-shadow-xs)!important}
.gth-button-secondary:hover{background:var(--gth-surface-2)!important}
.gth-text-button,.gth-inline-edit,.gth-project-actions a,.gth-forgot,.gth-app a{color:var(--gth-accent)}
.gth-text-button:hover{background:color-mix(in srgb,var(--gth-accent) 9%,transparent)!important}
.gth-text-button.is-danger,.gth-row-actions .is-danger{color:var(--gth-danger)!important}

/* Forms */
.gth-card input,.gth-card select,.gth-card textarea,.gth-modal input,.gth-modal select,.gth-modal textarea,
.gth-filter-row input,.gth-filter-row select,.gth-login-panel input[type=text],.gth-login-panel input[type=password]{background:var(--gth-input-bg)!important;color:var(--gth-text)!important;border-color:var(--gth-border-strong)!important}
.gth-card input::placeholder,.gth-card textarea::placeholder,.gth-modal input::placeholder,.gth-modal textarea::placeholder{color:color-mix(in srgb,var(--gth-muted) 72%,transparent)!important}
.gth-card input:focus,.gth-card select:focus,.gth-card textarea:focus,.gth-modal input:focus,.gth-modal select:focus,.gth-modal textarea:focus{border-color:var(--gth-accent)!important;box-shadow:var(--gth-focus)!important}
.gth-label,.gth-form-stack label>span,.gth-inline-fields label span{color:var(--gth-text)!important}
.gth-segmented button,.gth-status-buttons button{color:var(--gth-muted)!important}
.gth-segmented button.is-selected,.gth-status-buttons button.is-selected{background:var(--gth-navy)!important;color:var(--gth-sidebar-text)!important;box-shadow:0 5px 12px rgba(var(--gth-navy-rgb),.20)!important}

/* Tables and dividers */
.gth-table thead,.gth-table th{background:var(--gth-surface-2)!important;color:var(--gth-muted)!important;border-color:var(--gth-border)!important}
.gth-table td,.gth-project-actions,.gth-brand,.gth-sidebar-bottom,.gth-report-toolbar{border-color:var(--gth-border)!important}
.gth-table td{color:var(--gth-text)!important}
.gth-table tbody tr:hover{background:color-mix(in srgb,var(--gth-accent) 3%,var(--gth-surface))!important}

/* Progress and KPIs */
.gth-progress{background:color-mix(in srgb,var(--gth-border) 80%,var(--gth-surface-2))!important}
.gth-progress i{background:linear-gradient(90deg,var(--gth-accent),var(--gth-accent-2))!important;box-shadow:0 0 8px rgba(var(--gth-accent-rgb),.22)!important}
.gth-kpi.is-primary:before{background:linear-gradient(90deg,var(--gth-info),color-mix(in srgb,var(--gth-info) 68%,#fff))!important}
.gth-kpi.is-warning:before{background:linear-gradient(90deg,var(--gth-warning),color-mix(in srgb,var(--gth-warning) 68%,#fff))!important}
.gth-kpi.is-alert:before{background:linear-gradient(90deg,var(--gth-danger),color-mix(in srgb,var(--gth-danger) 68%,#fff))!important}

/* Status system */
.gth-status-in-office,.gth-status-remote,.gth-status-approved{background:color-mix(in srgb,var(--gth-success) 14%,var(--gth-surface))!important;color:var(--gth-success)!important;border-color:color-mix(in srgb,var(--gth-success) 28%,var(--gth-border))!important}
.gth-status-meeting,.gth-status-info{background:color-mix(in srgb,var(--gth-info) 13%,var(--gth-surface))!important;color:var(--gth-info)!important;border-color:color-mix(in srgb,var(--gth-info) 28%,var(--gth-border))!important}
.gth-status-break,.gth-status-pending,.gth-status-submitted{background:color-mix(in srgb,var(--gth-warning) 14%,var(--gth-surface))!important;color:var(--gth-warning)!important;border-color:color-mix(in srgb,var(--gth-warning) 30%,var(--gth-border))!important}
.gth-status-rejected,.gth-status-blocked,.gth-late-badge.is-visible,.gth-priority-high{background:color-mix(in srgb,var(--gth-danger) 13%,var(--gth-surface))!important;color:var(--gth-danger)!important;border-color:color-mix(in srgb,var(--gth-danger) 29%,var(--gth-border))!important}
.gth-status-leave{background:color-mix(in srgb,var(--gth-accent-2) 13%,var(--gth-surface))!important;color:var(--gth-accent-2)!important;border-color:color-mix(in srgb,var(--gth-accent-2) 28%,var(--gth-border))!important}
.gth-status-out,.gth-priority-low,.gth-role-badge{background:var(--gth-surface-3)!important;color:var(--gth-muted)!important;border-color:var(--gth-border)!important}

/* Login and overlays */
.gth-login-shell{background:var(--gth-bg)!important;color:var(--gth-text)!important}
.gth-login-brand{color:var(--gth-heading)!important}
.gth-login-visual{background:radial-gradient(circle at 82% 15%,rgba(var(--gth-accent-rgb),.24),transparent 20rem),linear-gradient(145deg,var(--gth-navy),color-mix(in srgb,var(--gth-navy) 72%,#000))!important;color:var(--gth-sidebar-text)!important}
.gth-login-kicker{color:var(--gth-accent)!important}
.gth-modal-backdrop{background:rgba(var(--gth-shadow-rgb),.55)!important}
.gth-modal-close{color:var(--gth-muted)!important}

/* Scrollbars and selections */
.gth-table-wrap{scrollbar-color:var(--gth-border-strong) transparent}
.gth-app ::selection,.gth-login-shell ::selection{background:color-mix(in srgb,var(--gth-accent) 30%,transparent);color:var(--gth-heading)}
