/* Nhimbe visual system: scoped presentation, native navigation and permissions. */
.nh-real-icon{display:block;flex:none;width:72px;height:72px;background-image:url('/assets/nhimbe_core/images/business-icons-20260925.png');background-size:300% 300%;background-repeat:no-repeat;background-position:100% 100%;border-radius:14px}
.nh-saas.nh-home{max-width:1320px;--ink:#17382d;--muted:#5c7269;--line:#dce8e2;--tint:#eef5f1;padding-top:26px}
body:has(.nh-saas.nh-home){background:#f5f8f6}
.nh-saas.nh-home .topline{padding:8px 0 22px;border-bottom:1px solid var(--line)}
.nh-saas.nh-home .identity{font-size:17px;letter-spacing:-.3px}.nh-saas.nh-home .identity img{width:42px;height:42px}
.nh-saas.nh-home .portal-nav{gap:3px}.nh-saas.nh-home .portal-nav a{font-weight:600}.nh-saas.nh-home .portal-nav a[aria-current]{background:#dceee4;color:#095b40}
.nh-saas.nh-home .welcome{position:relative;overflow:hidden;isolation:isolate;min-height:255px;margin:26px 0 20px;padding:34px 38px;background:radial-gradient(ellipse at 100% 0,#33765b 0,transparent 65%),#123f30;border:0;border-radius:26px;color:#fff;box-shadow:0 12px 32px #174d3014;gap:18px}
.nh-saas.nh-home .welcome h1{color:#fff;font-size:clamp(28px,3vw,42px);letter-spacing:-1.4px;max-width:720px}.nh-saas.nh-home .welcome .muted{color:#d7e9df;max-width:560px}.nh-saas.nh-home .welcome .eyebrow{color:#f6d77c;font-size:10px;letter-spacing:.18em}
.nh-saas.nh-home .welcome-copy{position:relative;z-index:1;flex:1;min-width:0}.nh-saas.nh-home .welcome .button{margin-top:12px;background:#f6d77c;border:0;color:#17382d;box-shadow:0 3px 10px #0001}
.nh-saas.nh-home .welcome-art{position:relative;flex:none;width:260px;height:190px;align-self:center}.nh-saas.nh-home .welcome-art:before{content:'';position:absolute;inset:4px;border:1px solid #ffffff20;border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 0 24px #ffffff04}
.nh-saas.nh-home .welcome-art .nh-real-icon{position:absolute;width:140px;height:140px;filter:drop-shadow(0 10px 12px #0002)}.nh-saas.nh-home .welcome-art .art-box{left:0;top:50px;background-position:50% 0}.nh-saas.nh-home .welcome-art .art-chart{right:5px;top:0;background-position:50% 100%}
.nh-saas.nh-home .facts{gap:16px;margin-bottom:30px}.nh-saas.nh-home .fact{border-radius:16px;padding:20px 22px;box-shadow:0 3px 12px #174d3005;border:1px solid var(--line)}.nh-saas.nh-home .fact small{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.nh-saas.nh-home .fact strong{font-size:16px}.nh-saas.nh-home .badge{padding:5px 9px;margin-left:4px}
.nh-saas.nh-home .section-head h2{font-size:22px;letter-spacing:-.7px}.nh-saas.nh-home .section-head p{font-size:13px;margin:6px 0 0}.nh-saas.nh-home .group-title{display:flex;align-items:center;gap:14px;font-weight:700;color:var(--muted);margin-top:28px}.nh-saas.nh-home .group-title:after{content:'';height:1px;background:var(--line);flex:1}
.nh-saas.nh-home .tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.nh-saas.nh-home .tool{min-height:192px;padding:18px 22px 22px;border-radius:19px;border:1px solid var(--line);box-shadow:0 3px 12px #174d3005;transition:transform .18s,box-shadow .18s,border-color .18s}.nh-saas.nh-home .tool .nh-real-icon{margin:-4px 0 10px -6px;width:78px;height:78px}.nh-saas.nh-home .tool strong{font-size:15px;letter-spacing:-.2px}.nh-saas.nh-home .tool>span:not(.nh-real-icon){line-height:1.6;font-size:12px;max-width:230px}.nh-saas.nh-home .tool:after{top:22px;right:20px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--tint);font-size:14px;color:#3e6653}
.nh-saas.nh-home .tool:hover,.nh-saas.nh-home .tool:focus-visible{transform:translateY(-4px);border-color:#80b59b;box-shadow:0 12px 25px #163f3010}.nh-saas.nh-home .tool:focus-visible{outline:3px solid #bd941d;outline-offset:3px}
.nh-saas.nh-home .panel{border-radius:20px;padding:26px}.nh-saas.nh-home .task{padding:16px 0}.nh-saas.nh-home .search input{background:var(--surface);min-height:44px;width:290px}.nh-saas.nh-home .button{border-radius:11px}
/* In-app workspace, lists and forms. */
body[data-route]{--primary:#0b6e4f;--primary-color:#0b6e4f;--border-color:#dfe7e2;--border-radius:10px}
body[data-route] .layout-main-section{border-radius:18px;border-color:var(--border-color);box-shadow:0 4px 18px #163f3005}
body[data-route] .page-head{background:var(--bg-color)}
body[data-route] .btn-primary{background:#0b6e4f;border-color:#0b6e4f;color:#fff;border-radius:9px}
body[data-route] .form-control{border-radius:9px}
body[data-route] .standard-sidebar-item.selected{background:#e4f1e9;color:#0b6044;border-radius:9px}
body[data-route] .list-row-container{transition:background-color .15s}
.nh-workspace .nh-module{min-height:190px;background:var(--fg-color,#fff);border:1px solid var(--nh-line,#dfe8e2);box-shadow:0 3px 12px #174d3005;border-radius:18px}
.nh-workspace .nh-module-icon.nh-real-icon{width:74px;height:74px;border-radius:12px;background-color:transparent;padding:0;background-size:300% 300%}
.nh-workspace .nh-module-icon.nh-real-icon svg{display:none}
.nh-workspace .nh-module:hover{box-shadow:0 12px 24px #174d3012;border-color:#7dac94}
.nh-workspace .nh-hero{background:radial-gradient(ellipse at 90% 0,#397b60 0,transparent 65%),#123f30}
.desktop-icon .icon-caption .icon-title{font-weight:600;letter-spacing:-.15px}
/* Dark mode retains native controls and visible contrast. */
[data-theme=dark] .nh-saas.nh-home{--surface:#172b22;--ink:#e3eee7;--muted:#b0c5b9;--line:#344a3e;--tint:#243f31}
[data-theme=dark] body:has(.nh-saas.nh-home),body[data-theme=dark]:has(.nh-saas.nh-home){background:#101e18}
[data-theme=dark] .nh-saas.nh-home .portal-nav a[aria-current]{background:#244d3b;color:#c0efd3}
[data-theme=dark] .nh-saas.nh-home .tool:after{color:#c0efd3}
[data-theme=dark] body[data-route] .standard-sidebar-item.selected,body[data-theme=dark][data-route] .standard-sidebar-item.selected{background:#244d3b;color:#c0efd3}
@media(max-width:1100px){.nh-saas.nh-home .tools{grid-template-columns:repeat(3,minmax(0,1fr))}.nh-saas.nh-home .welcome-art{width:205px}.nh-saas.nh-home .welcome-art .nh-real-icon{width:120px;height:120px}}
@media(max-width:760px){.nh-saas.nh-home .welcome{padding:28px;min-height:0;display:block}.nh-saas.nh-home .welcome-art{display:none}.nh-saas.nh-home .tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nh-saas.nh-home .tool{min-height:187px;padding:16px}.nh-saas.nh-home .tool .nh-real-icon{width:70px;height:70px}.nh-saas.nh-home .search input{width:0}.nh-saas.nh-home .facts{gap:10px}.nh-saas.nh-home .topline{gap:15px}.nh-saas.nh-home .portal-nav a{padding:9px}.nh-saas.nh-home .fact{padding:15px 18px}}
@media(max-width:360px){.nh-saas.nh-home .tools{grid-template-columns:1fr}.nh-saas.nh-home .tool{min-height:165px}.nh-saas.nh-home .welcome{padding:23px}.nh-saas.nh-home .welcome h1{letter-spacing:-.7px}}
@media(prefers-reduced-motion:reduce){.nh-saas.nh-home .tool,.nh-workspace .nh-module{transition:none}.nh-saas.nh-home .tool:hover,.nh-saas.nh-home .tool:focus-visible{transform:none}}
.nh-saas.nh-home .tool[href="/desk/point-of-sale"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/point-of-sale"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/payment-entry"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/payment-entry"] .nh-real-icon{background-position:0% 0%}
.nh-saas.nh-home .tool[href="/desk/item"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/item"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/stock-entry"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/stock-entry"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/purchase-order"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/purchase-order"] .nh-real-icon{background-position:50% 0%}
.nh-saas.nh-home .tool[href="/desk/sales-invoice"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/sales-invoice"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/purchase-invoice"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/purchase-invoice"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/quotation"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/quotation"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/item-price"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/item-price"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/journal-entry"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/journal-entry"] .nh-real-icon{background-position:100% 0%}
.nh-saas.nh-home .tool[href="/desk/customer"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/customer"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/employee"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/employee"] .nh-real-icon{background-position:0% 50%}
.nh-saas.nh-home .tool[href="/desk/project"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/project"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/task"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/task"] .nh-real-icon,
.nh-saas.nh-home .tool[href="/desk/todo"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/todo"] .nh-real-icon{background-position:50% 50%}
.nh-saas.nh-home .tool[href="/desk/leave-application"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/leave-application"] .nh-real-icon{background-position:100% 50%}
.nh-saas.nh-home .tool[href="/desk/issue"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/issue"] .nh-real-icon{background-position:0% 100%}
.nh-saas.nh-home .tool[href="/desk/opportunity"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/opportunity"] .nh-real-icon{background-position:50% 100%}
.nh-saas.nh-home .tool[href="/desk/supplier"] .nh-real-icon,
.nh-workspace .nh-module[href="/desk/supplier"] .nh-real-icon{background-position:100% 100%}
.desktop-icon[data-id="Selling"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 100%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Selling"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Buying"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 100% 100%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Buying"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Stock"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 0%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Stock"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Accounting"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 100% 0%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Accounting"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Assets"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 100% 100%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Assets"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Projects"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Projects"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="HR"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 0% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="HR"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="People"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 0% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="People"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Payroll"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 100% 0%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Payroll"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Support"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 0% 100%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Support"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="CRM"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 0% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="CRM"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Manufacturing"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 0%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Manufacturing"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Quality"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Quality"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Retail"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 0% 0%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Retail"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Point of Sale"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 0% 0%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Point of Sale"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Frappe HR"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 0% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Frappe HR"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Human Resources"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 0% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Human Resources"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Organization"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 100% 100%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Organization"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Subcontracting"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 0%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Subcontracting"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Nhimbe Settings"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Nhimbe Settings"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="ERPNext Settings"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="ERPNext Settings"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Frappe Framework"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 100% 100%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Frappe Framework"] > .icon-container:not(.folder-icon) > *{visibility:hidden}
.desktop-icon[data-id="Framework"] > .icon-container:not(.folder-icon){background:transparent url("/assets/nhimbe_core/images/business-icons-20260925.png") 50% 50%/300% 300% no-repeat!important;box-shadow:none!important;border:0!important}
.desktop-icon[data-id="Framework"] > .icon-container:not(.folder-icon) > *{visibility:hidden}

body[data-route="desktop"] .desktop-icon .icon-container{transition:transform .18s;filter:drop-shadow(0 5px 5px #133b2810)}
body[data-route="desktop"] .desktop-icon:hover .icon-container{transform:translateY(-3px)}
body[data-route="desktop"] .desktop-icon:focus-visible{outline:3px solid #bd941d;outline-offset:4px;border-radius:14px}
@media(prefers-reduced-motion:reduce){body[data-route="desktop"] .desktop-icon .icon-container{transition:none}body[data-route="desktop"] .desktop-icon:hover .icon-container{transform:none}}
.nh-saas.nh-home h2,.nh-saas.nh-home h3{color:var(--ink)}
.nh-saas.nh-home .group-title{color:var(--muted)}
