:root { --pa-primary:#3157d5; --pa-bg:#f4f6fa; --bs-body-font-size:.875rem; }
body { background:var(--pa-bg); color:#202939; }
.navbar { min-height:58px; }.navbar-brand { font-size:.95rem; letter-spacing:-.01em; }
.brand-mark { width:32px; height:32px; display:inline-grid; place-items:center; color:#fff; background:var(--pa-primary); border-radius:9px; }
.search-box { max-width:560px; }.search-box .form-control,.search-box .input-group-text { font-size:.82rem; }
.module-card { transition:transform .18s ease,box-shadow .18s ease; }.module-card:hover { transform:translateY(-2px); box-shadow:0 .5rem 1.2rem rgba(31,42,68,.1)!important; }
.module-icon { width:36px; height:36px; display:grid; place-items:center; color:var(--pa-primary); background:#edf1ff; border-radius:9px; font-size:1rem; }
.card { --bs-card-border-radius:.75rem; }.card-header { border-bottom-color:#edf0f5; }
.table > :not(caption) > * > * { padding:.72rem 1rem; border-bottom-color:#edf0f5; }
.catalog-row { cursor:pointer; transition:background-color .12s ease; }.catalog-row:focus-visible { outline:2px solid var(--pa-primary); outline-offset:-2px; }.catalog-row .stretched-row-link { position:relative; }
.qbe-grid .form-label { margin-bottom:.2rem; font-size:.72rem; font-weight:600; color:var(--bs-secondary-color); text-transform:uppercase; letter-spacing:.025em; }
.qbe-help { font-size:.76rem; margin-top:.15rem; }
.article-editor, .qbe-grid, .purchase-order-editor {
  --autocomplete-light-bg:var(--bs-body-bg);
  --autocomplete-light-border:var(--bs-border-color);
  --autocomplete-light-highlight-bg:var(--bs-tertiary-bg);
  --autocomplete-light-text:var(--bs-body-color);
  --autocomplete-light-text-muted:var(--bs-secondary-color);
}
.article-editor autocomplete-select, .qbe-grid autocomplete-select, .purchase-order-editor autocomplete-select,
.article-editor autocomplete-select-input, .qbe-grid autocomplete-select-input, .purchase-order-editor autocomplete-select-input { display:block; width:100%; }
.article-editor autocomplete-select-input input, .qbe-grid autocomplete-select-input input, .purchase-order-editor autocomplete-select-input input {
  display:block; width:100%; min-height:31px; padding:.25rem .5rem;
  border:1px solid var(--bs-border-color); border-radius:var(--bs-border-radius-sm);
  background:var(--bs-body-bg); color:var(--bs-body-color); font-size:.875rem;
}
.article-editor autocomplete-select-input input:focus, .qbe-grid autocomplete-select-input input:focus, .purchase-order-editor autocomplete-select-input input:focus {
  border-color:#86b7fe; outline:0; box-shadow:0 0 0 .15rem rgba(13,110,253,.2);
}
.order-lines-table > :not(caption) > * > * { padding:.45rem .5rem; }
.order-lines-table .form-control,.order-lines-table .form-select { min-height:31px; }
.order-lines-table input[readonly] { background:var(--bs-tertiary-bg); }
.status-dot { width:7px; height:7px; display:inline-block; margin-right:7px; background:#20a66a; border-radius:50%; }
.progress { height:7px; }.progress-bar { background:var(--pa-primary); }.metric { font-size:1.15rem; font-weight:700; }
.login-page { min-height:100vh; background:radial-gradient(circle at 15% 15%,#e2e9ff 0,transparent 32%),var(--pa-bg); }
.login-card { width:min(960px,100%); min-height:590px; border-radius:1rem; }.login-brand-panel { background:linear-gradient(145deg,#203a9f,#4168e8); }
.login-form { max-width:350px; }.google-g { color:#4285f4; font:bold 1.05rem Arial,sans-serif; }
.form-control { min-height:40px; font-size:.85rem; }.btn { font-size:.84rem; }
@media (max-width:991.98px) { .login-card { max-width:500px; min-height:auto; }.navbar .search-box { max-width:none; } }
