:root{
  --rosen-dark-blue:#2323B2;
  --rosen-red:#B1162E;
  --rosen-night-blue:#375578;
  --rosen-cyan:#1395D9;
  --rosen-petrol:#137C77;
  --rosen-red-violet:#BF497C;
  --rosen-brand-gradient:linear-gradient(90deg, var(--rosen-cyan) -20%, var(--rosen-petrol) 34%, var(--rosen-red-violet) 110%);
  --rosen-login-gradient:linear-gradient(90deg, var(--rosen-night-blue), var(--rosen-petrol));
  --sys-bg:#f4f7fb;
  --sys-bg-2:#e9eef7;
  --sys-surface:#ffffff;
  --sys-surface-2:#f8fbff;
  --sys-surface-3:#eef4fb;
  --sys-border:rgba(55,85,120,.18);
  --sys-border-strong:rgba(55,85,120,.34);
  --sys-text:var(--rosen-dark-blue);
  --sys-text-soft:var(--rosen-night-blue);
  --sys-muted:#6f7f93;
  --sys-accent:var(--rosen-dark-blue);
  --sys-accent-2:var(--rosen-red);
  --sys-accent-3:var(--rosen-cyan);
  --sys-accent-4:var(--rosen-petrol);
  --sys-accent-5:var(--rosen-red-violet);
  --sys-success:var(--rosen-petrol);
  --sys-danger:var(--rosen-red);
  --sys-shadow:0 18px 42px rgba(55,85,120,.14);
  --sys-shadow-soft:0 10px 26px rgba(55,85,120,.12);
}

body:not(.auth-page)::before{
  background:
    linear-gradient(90deg, rgba(55,85,120,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(55,85,120,.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(10,18,40,.55), rgba(5,10,25,.75)) !important;
  background-size:48px 48px,48px 48px,cover !important;
}

.login-page,
.login-bg,
.bg-overlay{
  background:
    linear-gradient(90deg, rgba(55,85,120,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(55,85,120,.045) 1px, transparent 1px),
    radial-gradient(circle at 16% 18%, rgba(177,22,46,.10), transparent 27%),
    radial-gradient(circle at 84% 12%, rgba(19,149,217,.11), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f5f8fc 48%, #eaf0f8 100%) !important;
  background-size:48px 48px,48px 48px,cover,cover,cover !important;
}

.login-page .glass-panel{
  border-color:rgba(55,85,120,.24) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.70), rgba(255,255,255,.42)),
    linear-gradient(135deg, rgba(55,85,120,.24), rgba(19,124,119,.18)) !important;
}

.login-page .glass-panel::before{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.34), transparent 26%),
    radial-gradient(circle at top right, rgba(19,124,119,.18), transparent 30%),
    linear-gradient(135deg, rgba(55,85,120,.12), transparent 24%, transparent 70%, rgba(19,124,119,.10)) !important;
}

.login-btn{
  background:var(--rosen-login-gradient) !important;
  border-color:var(--rosen-night-blue) !important;
  box-shadow:0 14px 28px rgba(19,124,119,.22) !important;
}

.login-btn:hover{
  filter:brightness(1.06) !important;
  box-shadow:0 16px 32px rgba(55,85,120,.24) !important;
}

.register-button,
.auth-button,
.submit-button,
.gtbit-btn-primary,
.tank-pill-btn.active,
.mini3d-btn,
.wf-primary,
.btn.primary,
#applyFilter,
#applyZoneFilter,
.users-edit-btn,
.open-selected-btn,
.action-btn,
.btn-action{
  background:var(--rosen-red-violet) !important;
  border-color:var(--rosen-red-violet) !important;
  color:#fff !important;
}

.login-page .feature-icon{
  background:var(--rosen-login-gradient) !important;
  color:#fff !important;
}

.login-page .login-header-copy h2{
  color:var(--rosen-night-blue) !important;
}

.login-page .auth-form label{
  color:var(--rosen-night-blue) !important;
}

.login-page .login-footer-links a{
  color:var(--rosen-night-blue) !important;
}

.login-page .login-footer-links a:hover{
  color:var(--rosen-petrol) !important;
}

.register-button:hover,
.auth-button:hover,
.submit-button:hover,
.gtbit-btn-primary:hover,
.tank-pill-btn.active:hover,
.mini3d-btn:hover,
.wf-primary:hover,
.btn.primary:hover,
#applyFilter:hover,
#applyZoneFilter:hover,
.users-edit-btn:hover,
.open-selected-btn:hover,
.action-btn:hover,
.btn-action:hover{
  background:var(--rosen-red-violet) !important;
  border-color:var(--rosen-red-violet) !important;
  filter:brightness(.95);
}

.inspection-app .action-btn{
  background:var(--rosen-red-violet) !important;
  border-color:var(--rosen-red-violet) !important;
  color:#fff !important;
}

.inspection-app .action-btn:hover{
  background:var(--rosen-red-violet) !important;
  border-color:var(--rosen-red-violet) !important;
  filter:brightness(.95);
}

.fb-topbar,
.sidebar,
.viewer3d-header,
.table-header,
.gtbit-header,
.tank-report-header,
.modal-header,
#file-table thead,
.report-table thead th,
.viewer3d-table thead,
.container-table th{
  background:linear-gradient(90deg, var(--rosen-night-blue), var(--rosen-petrol)) !important;
  color:#fff !important;
}

.sidebar .brand-card,
.brand-icon,
.tree-root.active,
.zone-item.active,
.tree-leaf.active,
.tab.active,
.leaf-link,{
  color:var(--rosen-dark-blue) !important;
}

.repo-header a,
.repo-header button,
.repo-brand,
.fb-topbar a,
.fb-topbar button,
.fb-brand,
.viewer3d-header a,
.viewer3d-header button,
.gtbit-header a,
.gtbit-header button,
.tank-report-header a,
.tank-report-header button{
  color:#fff !important;
}

.tab-btn,
.icon-btn,
.toolbtn,
.gtbit-toolbtn,
.tank-pill-btn,
.mini-btn,
.wf-secondary,
.btn.ghost,
#resetZoneFilter,
#wfCancel{
  border-color:rgba(55,85,120,.28) !important;
}

.tab-btn:not(.active),
.icon-btn:hover,
.toolbtn:hover,
.gtbit-toolbtn:hover,
.tank-pill-btn:hover,
.mini-btn:hover,
.wf-secondary:hover,
.btn.ghost:hover{
  background:rgba(19,149,217,.10) !important;
  color:var(--rosen-dark-blue) !important;
}

.tree-root.active,
.zone-item.active,
.tree-leaf.active,
.report-table tbody tr:hover,
.viewer3d-table tbody tr:hover,
.clickable-row:hover,
tr:hover{
  background:linear-gradient(90deg, rgba(19,149,217,.12), rgba(19,124,119,.08)) !important;
}

.tab-btn.active{
  background:#12847b !important;
  color:#fff !important;
}

.tree-dot,
.zone-square,
.folder-glyph,
.node.start .icon,
.pill,
.badge,
.status-pill{
  background:var(--rosen-petrol) !important;
}

.close-button:hover,
.icon-btn.red,
.wf-close,
.tank-modal-close,
.ea-close,
.ifc-popup-close,
.qxa-float-btn,
#logout-modal #confirm-logout{
  background:var(--rosen-red) !important;
  border-color:var(--rosen-red) !important;
  color:#fff !important;
}

.icon-btn.red:hover,
.wf-close:hover,
.tank-modal-close:hover,
.ea-close:hover,
.ifc-popup-close:hover,
.qxa-float-btn:hover,{
  background:var(--rosen-red-violet) !important;
  border-color:var(--rosen-red-violet) !important;
}

input:focus,
select:focus,
textarea:focus,
.viewer3d-search:focus-within{
  border-color:var(--rosen-cyan) !important;
  box-shadow:0 0 0 3px rgba(19,149,217,.16) !important;
}

.glass-panel::before,
.glass-card,
.viewer3d-table-card,
.container-card,
.register-card,
.auth-card,
.modal-content,
.modal-card,
.repo-card,
.repo-toolbar,
.folder-card,
.workflow-panel{
  border-color:var(--sys-border) !important;
}

/* Inspection dashboard: petrol + night blue theme */
.inspection-app{
  color:#fff !important;
}

.inspection-app .topbar{
  background:var(--rosen-brand-gradient) !important;
  border-color:rgba(255,255,255,.24) !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(55,85,120,.18) !important;
}

.inspection-app .sidebar,
.inspection-app .glass-card,
.inspection-app .viewer-card,
.inspection-app .report-card,
.inspection-app .stats-panel,
.inspection-app .stat-item,
.inspection-app .modal-card{
  background:linear-gradient(135deg, var(--rosen-petrol), var(--rosen-night-blue)) !important;
  border-color:rgba(255,255,255,.24) !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(55,85,120,.18) !important;
}

.inspection-app .glass-card::before{
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), transparent 34%),
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 48%) !important;
}

.inspection-app .glass-card,
.inspection-app .report-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96)) !important;
  border-color:rgba(55,85,120,.18) !important;
  color:var(--rosen-night-blue) !important;
}

.inspection-app .glass-card::before,
.inspection-app .report-card::before{
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), transparent 36%),
    linear-gradient(90deg, rgba(55,85,120,.06), transparent 44%, rgba(19,124,119,.05)) !important;
}

.inspection-app .tree-root.active,
.inspection-app .zone-item.active,
.inspection-app .tree-leaf.active,
.inspection-app .sidebar-bottom-btn{
  background:rgba(255,255,255,.18) !important;
  border:1px solid rgba(255,255,255,.34) !important;
  color:#fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 12px 28px rgba(0,0,0,.10) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.inspection-app .brand-card::before{
  background:linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,255,255,.16)) !important;
}

.inspection-app .tree-root,
.inspection-app .zone-item,
.inspection-app .tree-node-toggle,
.inspection-app .tree-leaf{
  background:transparent !important;
  border-color:transparent !important;
}

.inspection-app .tree-root:hover,
.inspection-app .zone-item:hover,
.inspection-app .tree-leaf:hover,
.inspection-app .sidebar-bottom-btn:hover{
  background:rgba(255,255,255,.24) !important;
  border-color:rgba(255,255,255,.42) !important;
}

.inspection-app,
.inspection-app a,
.inspection-app button,
.inspection-app .breadcrumb,
.inspection-app .crumb,
.inspection-app .crumb.strong,
.inspection-app .crumb-sep,
.inspection-app .brand-title,
.inspection-app .section-label,
.inspection-app .panel-heading,
.inspection-app .card-title,
.inspection-app .card-icon,
.inspection-app .stat-label,
.inspection-app .stat-value,
.inspection-app .tree-root,
.inspection-app .zone-item,
.inspection-app .tree-node-toggle,
.inspection-app .tree-node-title,
.inspection-app .tree-node-arrow,
.inspection-app .tree-leaf,
.inspection-app .tree-leaf-dash,
.inspection-app .tree-node-empty,
.inspection-app .sidebar-bottom-btn,
.inspection-app .sidebar-btn-icon i,
.inspection-app .report-table th,
.inspection-app .report-table td,
.inspection-app .modal-card h3,
.inspection-app .modal-card p{
  color:#fff !important;
}

.inspection-app .tree-dot,
.inspection-app .zone-square{
  background:#fff !important;
  border-color:rgba(255,255,255,.55) !important;
  box-shadow:0 0 0 4px rgba(255,255,255,.14) !important;
}

.inspection-app .stat-icon{
  color:#fff !important;
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.30) !important;
}

.inspection-app .report-table thead th{
  background:var(--rosen-night-blue) !important;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.22) !important;
}

.inspection-app .report-table tbody,
.inspection-app .table-wrap{
  background:transparent !important;
}

.inspection-app .action-btn,
.inspection-app .btn-action{
  background:var(--rosen-red-violet) !important;
  border-color:var(--rosen-red-violet) !important;
  color:#fff !important;
}

.inspection-app .action-btn:hover,
.inspection-app .btn-action:hover{
  background:var(--rosen-red-violet) !important;
  border-color:var(--rosen-red-violet) !important;
  filter:brightness(.95);
}

.inspection-app .sidebar,
.inspection-app .sidebar a,
.inspection-app .sidebar button,
.inspection-app .sidebar .brand-title,
.inspection-app .sidebar .section-label,
.inspection-app .sidebar .tree-root,
.inspection-app .sidebar .zone-item,
.inspection-app .sidebar .tree-node-toggle,
.inspection-app .sidebar .tree-node-title,
.inspection-app .sidebar .tree-node-arrow,
.inspection-app .sidebar .tree-leaf,
.inspection-app .sidebar .tree-leaf-dash,
.inspection-app .sidebar .tree-node-empty,
.inspection-app .sidebar .sidebar-bottom-btn,
.inspection-app .sidebar .sidebar-btn-icon i{
  color:var(--rosen-night-blue) !important;
}

.inspection-app .sidebar .tree-dot,
.inspection-app .sidebar .zone-square{
  background:var(--rosen-red-violet) !important;
  border-color:rgba(19,124,119,.34) !important;
  box-shadow:0 0 0 4px rgba(19,124,119,.12) !important;
}

.inspection-app .glass-card,
.inspection-app .glass-card *,
.inspection-app .report-card,
.inspection-app .report-card *{
  color:var(--rosen-night-blue) !important;
}

.inspection-app .viewer-card,
.inspection-app .viewer-card *{
  color:#fff !important;
}

.inspection-app .sidebar .tree-root.active,
.inspection-app .sidebar .zone-item.active,
.inspection-app .sidebar .tree-leaf,
.inspection-app .sidebar .tree-leaf.active,
.inspection-app .sidebar .sidebar-bottom-btn{
  background:linear-gradient(90deg, rgba(55,85,120,.42), rgba(19,124,119,.42)) !important;
  border-color:rgba(55,85,120,.34) !important;
  color:#fff !important;
}

.inspection-app .sidebar .brand-card *,
.inspection-app .sidebar .tree-root.active *,
.inspection-app .sidebar .zone-item.active *,
.inspection-app .sidebar .tree-leaf *,
.inspection-app .sidebar .tree-leaf.active *,
.inspection-app .sidebar .sidebar-bottom-btn *,
.inspection-app .sidebar .sidebar-btn-icon i{
  color:#fff !important;
}

.inspection-app .sidebar .tree-root.active,
.inspection-app .sidebar .zone-item.active,
.inspection-app .sidebar .tree-leaf,
.inspection-app .sidebar .tree-leaf.active,
.inspection-app .sidebar .sidebar-bottom-btn{
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 10px 22px rgba(0,0,0,.08) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.inspection-app .stats-panel,
.inspection-app .report-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96)) !important;
  border-color:rgba(55,85,120,.16) !important;
  color:var(--rosen-night-blue) !important;
}

.inspection-app .stats-panel *,
.inspection-app .report-card *,
.inspection-app .report-table td{
  color:var(--rosen-night-blue) !important;
}

.inspection-app .stats-panel .stat-item{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,252,.94)) !important;
  border-color:rgba(55,85,120,.16) !important;
  box-shadow:0 10px 24px rgba(55,85,120,.10) !important;
}

.inspection-app .stats-panel .stat-icon{
  background:rgba(55,85,120,.08) !important;
  border-color:rgba(55,85,120,.18) !important;
  color:var(--rosen-night-blue) !important;
}

.inspection-app .report-table thead th{
  background:var(--rosen-night-blue) !important;
  color:#fff !important;
}

.inspection-app .report-table thead th *,
.inspection-app .action-btn,
.inspection-app .action-btn *,
.inspection-app .btn-action,
.inspection-app .btn-action *{
  color:#fff !important;
}

/* Final inspection sidebar text and stat label colors */
.inspection-app .sidebar,
.inspection-app .sidebar *,
.inspection-app .sidebar a,
.inspection-app .sidebar button,
.inspection-app .sidebar .brand-title,
.inspection-app .sidebar .section-label,
.inspection-app .sidebar .tree-root,
.inspection-app .sidebar .tree-root *,
.inspection-app .sidebar .zone-item,
.inspection-app .sidebar .zone-item *,
.inspection-app .sidebar .tree-node-toggle,
.inspection-app .sidebar .tree-node-title,
.inspection-app .sidebar .tree-node-arrow,
.inspection-app .sidebar .tree-leaf,
.inspection-app .sidebar .tree-leaf *,
.inspection-app .sidebar .tree-leaf-dash,
.inspection-app .sidebar .tree-node-empty,
.inspection-app .sidebar .sidebar-bottom-btn,
.inspection-app .sidebar .sidebar-bottom-btn *,
.inspection-app .sidebar .sidebar-btn-icon i{
  color:#fff !important;
}

.inspection-app .stats-panel .stat-label{
  color:var(--rosen-night-blue) !important;
}

.inspection-app .sidebar .brand-logo{
  display:block !important;
  width:min(205px, 90%) !important;
  height:auto !important;
  max-height:66px !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
