/* VisualTek: blue/cyan interface with accents from the original print mark. */
:root {
  --ink: #202a3b;
  --muted: #64748b;
  --paper: #f3f6fb;
  --line: #dfe6f0;
  --green: #075bd8;
  --lime: #64dfff;
  --brand-blue: #075bd8;
  --brand-cyan: #00c9f4;
  --brand-magenta: #ec1671;
  --brand-navy: #101c36;
}
body { background: var(--paper); color: var(--ink); }
a, summary { color: var(--brand-blue); }
.muted, .eyebrow, .helptext, .small-text.muted { color: var(--muted); }
.sidebar {
  background: linear-gradient(165deg, #12294b, #101a32 75%);
  color: #e7eefb;
  scrollbar-color: #395675 #101c36;
  border-right: 1px solid #1c3556;
}
.sidebar::before {
  content: ''; position: absolute; left: 0; top: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #ed1672, #9142df 32%, #0870f7 65%, #00d7f0);
}
.sidebar .brand-logo { border-color: #e1e8f1; box-shadow: 0 5px 18px #030e2520; }
.sidebar .nav-label, .sidebar nav .nav-label { color: #8ea5c2; }
.sidebar nav a { color: #bed0e8; }
.sidebar nav a.active {
  color: #f0fcff; background: #163f69; border-color: #2b608b;
  box-shadow: inset 3px 0 var(--brand-cyan);
}
.sidebar nav a:hover { background: #1b3658; color: #9deaff; }
.sidebar-bottom { color: #becfe4; }
.sidebar-bottom small { color: #8fa7c4; }
.sidebar-bottom .dot { background: #00cff2; }
.topbar { background: #ffffffed; border-color: var(--line); }
.avatar { background: #e7f2ff; border-color: #cce0fa; color: #0754ba; }
.header-date { color: #6c7b91; border-color: var(--line); }
.button {
  background: var(--brand-blue); border-color: var(--brand-blue); color: #fff;
  box-shadow: 0 3px 7px #075bd815;
}
.button:hover { background: #054bb6; border-color: #054bb6; filter: none; }
.button.secondary { background: #fff; border-color: #d8e2ef; color: #364967; box-shadow: none; }
.button.secondary:hover { background: #eef6ff; border-color: #accff5; }
input, select, textarea { border-color: #d3deec; color: var(--ink); }
input:focus, select:focus, textarea:focus { border-color: #1473e7; outline: 2px solid #d4eaff; }
input[type=checkbox], .check-field input { accent-color: var(--brand-blue); }
.field .helptext, .form-panel .helptext { color: #65758b; }
.panel, .stats article, .attention-strip { border-color: var(--line); }
.welcome {
  background: linear-gradient(110deg, #e7f4ff 0%, #eef4ff 65%, #f5edff 100%);
  border-color: #d4e4f8;
}
.welcome .eyebrow { color: #426a95; }
.welcome h2 { color: #183450; }
.welcome p { color: #56718f; }
.welcome-date { border-color: #c7daee; }
.welcome-date strong { color: #0763cc; }
.welcome-date span { color: #587494; }
.stats article>span, .stats small { color: #63758b; }
.stats article.stat-featured { background: #eaf4ff; border-color: #cae0f7; position: relative; overflow: hidden; }
.stats article.stat-featured strong { color: #075dc1; }
.stats article.stat-featured::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, #00b9e7, #0870e8); }
th { color: #60748c; background: #f2f6fc; border-color: #dfe7f1; }
td { border-color: #eaf0f6; }
td small, .job p, .job small, .column-empty { color: #69798d; }
tbody tr:hover { background: #f8fbff; }
.badge { background: #eaf3ff; color: #225ba2; border-color: #cfe0f6; }
.badge.neutral { background: #f0f3f7; border-color: #dfe5ed; color: #657386; }
.badge.success { background: #e8f6ee; border-color: #cbe7d7; color: #22633d; }
.badge.danger { background: #fff0f2; border-color: #f5ced6; color: #ac304a; }
.message { background: #ebf7f1; border-color: #c8e6d7; color: #235a40; }
.message.error, .errorlist { color: #a42b45; background: #fff0f3; border-color: #f2cbd5; }
.signal.red { background: #dc4160; }
.signal.amber { background: #ca8a04; }
.signal.green { background: #249369; }
.overdue { color: #b32c47; }
.empty-symbol { background: #edf5ff; border-color: #d5e5f8; color: #397dca; }
.empty strong { color: #304767; }
.quick-actions>a { border-color: #e8eef6; color: #293d58; }
.quick-actions a:hover { color: var(--brand-blue); }
.shortcut-icon { background: #eaf4ff; border-color: #d5e7fc; color: #2471c8; }
.quick-actions>a:nth-of-type(2) .shortcut-icon { color: #ae2876; background: #fff0f8; border-color: #f5d5e8; }
.quick-actions>a:nth-of-type(3) .shortcut-icon { color: #7240af; background: #f4eeff; border-color: #e4d8f6; }
.catalog-summary { background: linear-gradient(135deg, #e9f5ff, #f0f1ff); border-color: #d3e2f6; }
.catalog-summary h2 { color: #25456c; }
.catalog-summary a { border-color: #cbdcf0; color: #42648d; }
.catalog-summary strong { color: #0b62c9; }
.pipeline span { color: #65758c; }
.pipeline-track { background: #e8eef8; }
.pipeline-track i { background: #1382ee; }
.pipeline>div:nth-child(2) i { background: #7753d4; }
.pipeline>div:nth-child(3) i { background: #00a5d0; }
.pipeline>div:nth-child(4) i { background: #db408e; }
.pipeline>div:nth-child(5) i { background: #2674d9; }
.catalog-intro { background: linear-gradient(110deg, #e8f6ff, #eef2ff); border-color: #d5e3f6; }
.catalog-count { border-color: #c7dcef; }
.catalog-count strong { color: #0862ca; }
.catalog-count span, .catalog-intro p { color: #526f8e; }
.catalog-intro p strong { color: #203f62; }
.step-number { border-color: #cce1fb; background: #edf5ff; color: #216ac0; }
.cost-preview { background: #eef5ff; border-color: #d3e2f6; }
.cost-preview .eyebrow { color: #476d9b; }
.cost-preview h2 { color: #22466f; }
.cost-preview p, .cost-preview .muted { color: #5d728e; }
.preview-label, .cost-lines dt { color: #617590; }
.preview-value { color: #164c89; }
.cost-preview hr, .cost-lines .cost-total { border-color: #cadcf1; }
.cost-total dt { color: #243f60; }
.suggested-box { background: linear-gradient(125deg, #075bd8, #0675be); }
.suggested-box span, .suggested-box small { color: #e0f2ff; }
.inline-note { background: #f0f7ff; border-color: #dce8f8; color: #4a6e99; }
.cost-warning { background: #fff6e6; color: #8d5d15!important; }
.component-row { border-color: #dfE8f3; }
.item-subtotal { background: #f0f6ff; color: #325d91; }
.product-status { color: #526e91; }
.grand-total strong { color: #075bd8; }
.back-link { color: #536f91; }
.kanban-column { background: #edf2f9; border-color: #dbe5f1; }
.kanban-column .dot { background: #1686ed; }
.kanban-column:nth-child(2) .dot { background: #8654d6; }
.kanban-column:nth-child(3) .dot { background: #00a6ce; }
.kanban-column:nth-child(4) .dot { background: #df3688; }
.kanban-column:nth-child(5) .dot { background: #2475c7; }
.job { border-color: #dbe5f1; box-shadow: 0 3px 7px #183e6a06; }
.job .stage-form { border-color: #e4ecf6; }
.steps b { color: #2275c1; }
footer { color: #76869b; border-color: #dfe6f0; }
.login-page { background: #f5f8fe; }
.login-intro {
  background: radial-gradient(ellipse at 0% 15%, #15477a 0%, transparent 65%),
              radial-gradient(ellipse at 100% 100%, #382054 0%, transparent 60%), #101c36;
}
.login-intro::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg, #ef146f, #9638e9 30%, #0874fc 65%, #00d8ed);
}
.login-intro::after { border-color: #395285; }
.login-intro em { color: #64dfff; }
.login-intro p { color: #c0d2ec; }
.login-features span { border-color: #49648b; color: #d5e7fb; background: #13264544; }
.login-features span:last-child { border-color: #775180; color: #f2d0ec; }
.login-intro .brand-logo { box-shadow: 0 12px 38px #03112c33; }
.login-card h2 { color: #203854; }
.login-card .eyebrow { color: #4e6b91; }
.login-card .button { background: linear-gradient(110deg, #075bd8, #0873cb); border-color: #075bd8; }
.login-card .button:hover { background: #054cb8; }
@media print {
  body { color: #202a3b; background: #fff; }
  .panel, .quote-sheet { background: #fff; }
  th { background: #f3f6fb; color: #32465f; }
  .quote-total h2 { color: #075bd8; }
}

/* Shared vector icons: consistent stroke, alignment and inherited brand color. */
.icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle;pointer-events:none}
.sidebar nav a{display:flex;align-items:center;gap:12px}
.sidebar nav a>.icon{width:21px;height:21px;flex-basis:21px;opacity:.85}
.sidebar nav a.active>.icon,.sidebar nav a:hover>.icon{opacity:1}
.button>.icon,.text-button>.icon,a>.icon{width:17px;height:17px}
.button>.icon{flex-basis:17px}
.text-button>.icon{margin-left:5px}
.shortcut-icon .icon{width:20px;height:20px}
.empty-symbol .icon{width:26px;height:26px}
.quick-actions b .icon{width:16px;height:16px}

.component-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.component-enhanced .component-delete-field{display:none}.component-actions .component-remove{color:#ad2448;border-color:#e9b6c3}.component-actions small{color:#ad2448}.component-row.is-removed{opacity:.75}.component-row.is-removed .component-actions{opacity:1}

.component-row[hidden]{display:none!important}

.component-row.out-of-stock{background:#fff1f2;border-left:3px solid #c52a42;padding-left:12px;padding-right:12px}.component-row.out-of-stock select{border-color:#c52a42;color:#a61930}.stock-warning{display:block;margin-top:7px;font-size:12px}.out-of-stock .stock-warning{color:#a61930;font-weight:600}tr.out-of-stock td{background:#fff1f2}tr.out-of-stock td:first-child{border-left:3px solid #c52a42}tr.out-of-stock td:first-child strong{color:#a61930}
