/* TPI ERP: the SPO "Studio" look (warm ink and paper, ink sidebar with bronze pill, cream strips, black buttons) on the ERP desk and website pages. */
@font-face{font-family:"Poppins";font-weight:300;font-display:swap;src:url("/assets/tpi_erp/fonts/Poppins-300.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:400;font-display:swap;src:url("/assets/tpi_erp/fonts/Poppins-400.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:500;font-display:swap;src:url("/assets/tpi_erp/fonts/Poppins-500.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:600;font-display:swap;src:url("/assets/tpi_erp/fonts/Poppins-600.woff2") format("woff2")}
:root,[data-theme="light"]{
  --tpi-ink:#141414;--tpi-ink-2:#232220;--tpi-shell-text:#CFCBC2;--tpi-bronze:#9A7B4F;--tpi-bronze-fill:#8A6C42;--tpi-cream:#FAF4E6;--tpi-cream-bd:#EADBB9;--tpi-paper:#F4F2EE;--tpi-panel:#FFFFFF;--tpi-line:#E2DFD7;--tpi-text:#3F3F3F;--tpi-head:#141414;
  --font-stack:"Poppins","Helvetica Neue",Arial,system-ui,sans-serif;
  --primary:#141414;--primary-color:#141414;--btn-primary:#141414;--btn-primary-color:#fff;
  --bg-color:var(--tpi-paper);--fg-color:var(--tpi-panel);--card-bg:var(--tpi-panel);--navbar-bg:var(--tpi-panel);
  --border-color:var(--tpi-line);--dark-border-color:#D6D2C8;--text-color:var(--tpi-text);--heading-color:var(--tpi-head);
  --border-radius:8px;--border-radius-md:8px;--border-radius-lg:10px;--border-radius-xl:12px;
  --sidebar-select-color:var(--tpi-bronze-fill);
}
[data-theme="dark"]{
  --tpi-ink:#0C0C0C;--tpi-ink-2:#1E1D1B;--tpi-cream:#2B261E;--tpi-cream-bd:#4A3F2E;--tpi-paper:#141414;--tpi-panel:#1E1D1B;--tpi-line:#3A3833;--tpi-text:#CFCBC2;--tpi-head:#EDEAE3;--tpi-bronze:#D8C39C;
  --primary:#EDEAE3;--btn-primary:#EDEAE3;--btn-primary-color:#141414;
  --bg-color:var(--tpi-paper);--fg-color:var(--tpi-panel);--card-bg:var(--tpi-panel);--navbar-bg:var(--tpi-panel);--border-color:var(--tpi-line);--text-color:var(--tpi-text);--heading-color:var(--tpi-head);
}
body,html,.form-control,.btn,input,select,textarea,.frappe-control{font-family:var(--font-stack)!important}
body{background:var(--tpi-paper)}
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.title-text,.page-title .title-text,.ce-header,.widget-title,.card-title{font-weight:600!important;color:var(--tpi-head)}
.btn-primary,.btn.btn-primary{background:var(--btn-primary)!important;border-color:var(--btn-primary)!important;color:var(--btn-primary-color)!important;border-radius:8px;font-weight:600}
.btn-primary:hover{filter:brightness(1.25)}
.btn{border-radius:8px}
.form-control,.input-with-feedback,select.form-control{border-radius:8px}
.form-control:focus,.btn:focus-visible,a:focus-visible{box-shadow:0 0 0 2px var(--tpi-bronze)!important;outline:none}
.widget,.frappe-card,.form-page .form-section.card-section,.layout-main-section,.report-wrapper,.dashboard-section .widget{border-radius:10px}
.nav-tabs .nav-link.active,.form-tabs .nav-link.active{border-bottom:2px solid var(--tpi-bronze)!important;color:var(--tpi-head)!important;font-weight:600}
.indicator-pill.blue,.page-head .indicator-pill{border-radius:999px}
/* Cream strips: page head and form message bands. */
.page-head{background:var(--tpi-panel);border-bottom:1px solid var(--tpi-line)}
.form-message,.msgprint-dialog .modal-header,.alert-info,.form-dashboard .form-documents{background:var(--tpi-cream)!important;border-color:var(--tpi-cream-bd)!important}
/* Ink sidebar with bronze active pill (v16 desk sidebar and the classic list/workspace sidebar). */
.body-sidebar,.desk-sidebar,.layout-side-section .desk-sidebar,.sidebar-container,.body-sidebar-container .body-sidebar{background:var(--tpi-ink)!important;color:var(--tpi-shell-text)!important}
.body-sidebar a,.body-sidebar .item-anchor,.body-sidebar .sidebar-item-label,.body-sidebar .standard-sidebar-item,.body-sidebar svg,.body-sidebar .sidebar-item-icon{color:var(--tpi-shell-text)!important;stroke:currentColor}
.body-sidebar .standard-sidebar-item:hover,.body-sidebar .sidebar-item-container:hover>.desk-sidebar-item{background:var(--tpi-ink-2)!important;color:#fff!important}
.body-sidebar .selected,.body-sidebar .standard-sidebar-item.selected,.body-sidebar .desk-sidebar-item.selected,.body-sidebar .active-sidebar{background:var(--tpi-bronze-fill)!important;color:#fff!important;border-radius:10px}
.body-sidebar .selected *,.body-sidebar .standard-sidebar-item.selected *{color:#fff!important}
.body-sidebar .sidebar-header,.body-sidebar .header-logo,.body-sidebar .sidebar-footer{color:#fff!important;border-color:rgba(255,255,255,.1)!important}
/* Navbar: the SPO switch link. */
.tpi-spo-link{display:inline-flex;align-items:center;height:32px;padding:0 12px;margin-right:8px;border:1px solid var(--tpi-cream-bd);border-radius:8px;background:var(--tpi-cream);color:#6E5530!important;font:500 12px var(--font-stack);white-space:nowrap;text-decoration:none!important}
.tpi-spo-link:hover{border-color:var(--tpi-bronze)}
.tpi-spo-floating{position:fixed;top:10px;right:220px;z-index:1030}
@media(max-width:767px){.tpi-spo-link{display:none}}
/* Ask TPI AI floating button and answer box. */
.tpi-ai-fab{position:fixed;right:20px;bottom:20px;z-index:1040;height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--tpi-ink);color:#fff;font:600 14px var(--font-stack);box-shadow:0 10px 30px -10px rgba(0,0,0,.45);border-top:2px solid var(--tpi-bronze)}
[data-theme="dark"] .tpi-ai-fab{background:#EDEAE3;color:#141414}
.tpi-ai-fab:hover{filter:brightness(1.2)}
.tpi-ai-answer{margin-top:8px;padding:14px 16px;border:1px solid var(--tpi-cream-bd);border-left:4px solid var(--tpi-bronze);border-radius:10px;background:var(--tpi-cream);color:var(--tpi-text);line-height:1.6}
.tpi-ai-off{border-left-color:#9B4A38}
.tpi-ai-cites{margin:10px 0 0;padding-left:18px;font-size:12px;color:#6C6C6C}
/* Hide vendor marks that have no setting. */
.footer-powered,.web-footer .footer-powered,a[href*="frappe.io"],a[href*="erpnext.com"],a[href*="frappeframework.com"],.onboarding-widget-box .learn-more,.onboarding-widget-box [data-action="go_to_docs"]{display:none!important}
/* ---- Website pages and the sign-in page: SPO login look ---- */
body[data-path="login"],body[data-path="update-password"]{background:#141414!important;background-image:radial-gradient(120% 80% at 100% 0%,rgba(154,123,79,.28),transparent 60%)!important;min-height:100vh}
body[data-path="login"] .navbar,body[data-path="login"] .web-footer,body[data-path="login"] footer{display:none!important}
body[data-path="login"] .login-content.page-card,body[data-path="login"] .page-card,body[data-path="login"] .for-login .login-content{background:#fff!important;border:0!important;border-top:4px solid #9A7B4F!important;border-radius:16px!important;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)!important;padding:36px 32px!important}
body[data-path="login"] .page-card-head img,body[data-path="login"] .app-logo{content:url("/assets/tpi_erp/images/logo-tpi-ink.svg");height:56px!important;width:auto!important;max-width:none}
body[data-path="login"] .page-card-head h4{font:500 24px/1.25 "Poppins","Helvetica Neue",Arial,sans-serif!important;color:#111!important;letter-spacing:-.02em}
body[data-path="login"] .btn-primary,body[data-path="login"] .btn-login{background:#111!important;border-color:#111!important;color:#fff!important;border-radius:10px!important;min-height:44px}
body[data-path="login"] .form-control{border-radius:10px!important;min-height:44px}
body[data-path="login"] .page-card-head h4,body[data-path="login"] .page-card-head{color:#111}
/* v16 desk: the dock (left rail) is ink too, with the TPI mark instead of the vendor icon. */
.dock,#desk-dock{background:#0C0C0C!important;border-color:rgba(255,255,255,.08)!important}
.dock .dock-item,.dock .dock-item-icon,.dock svg{color:var(--tpi-shell-text)!important}
.dock .dock-item:hover,.dock .dock-item.active,.dock .dock-item[aria-current],.dock .dock-item.selected{background:var(--tpi-bronze-fill)!important;color:#fff!important}
.dock-logo .header-logo,.body-sidebar .header-logo{background:url("/assets/tpi_erp/images/mark-tpi.svg") center/contain no-repeat!important;border-radius:8px;overflow:hidden;width:32px!important;height:32px!important;min-width:32px}
.dock-logo .header-logo>*,.body-sidebar .header-logo>*{visibility:hidden}
.body-sidebar .sidebar-item-container .standard-sidebar-item.active-sidebar,.body-sidebar .standard-sidebar-item[aria-current],.body-sidebar .standard-sidebar-item.active{background:var(--tpi-bronze-fill)!important;color:#fff!important;border-radius:10px}
.tpi-spo-floating{top:auto;right:auto;left:66px;bottom:14px;width:206px;justify-content:center;background:var(--tpi-ink-2);border-color:rgba(255,255,255,.12);color:#D8C39C!important}
/* QA 30 Oct: no vendor onboarding videos (YouTube thumbnails of the vendor's guides); the apps screen header sits on paper, so the ink wordmark;
   the sign-in page in Poppins with 600 headings like the rest of TPI. */
.onboarding-step-media,.onboarding-video,img[src*="ytimg.com"]{display:none!important}
.onboarding-step.has-media{grid-template-columns:1fr!important}
.navbar-home #brand-logo{content:url("/assets/tpi_erp/images/logo-tpi-ink.svg")}
[data-theme="dark"] .navbar-home #brand-logo{content:url("/assets/tpi_erp/images/logo-tpi-white.svg")}
body[data-path="login"],body[data-path="login"] :is(h1,h2,h3,h4,h5,p,a,span,label,input,button,div){font-family:"Poppins","Helvetica Neue",Arial,sans-serif!important} /* literal: the login bundle redefines --font-stack after us */
body[data-path="login"] :is(h1,h2,h3,h4){font-weight:600!important}
/* Phones: the collapsed sidebar is an invisible 224px overlay (children at opacity 0); keep it see-through until opened */
@media (max-width:767.98px){.body-sidebar-container:not(.expanded) .body-sidebar{background:transparent!important;box-shadow:none!important;border:0!important}}
