﻿/* Snap ERP — base green visual system */
html{font-family:var(--ui-font)}
body{font-family:var(--ui-font);color:var(--ui-text);background:linear-gradient(180deg,#f8fbf9 0,#f4f7f5 220px,#eef4f0 100%)}
::selection{background:#dff3e8;color:#075238}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(10,123,78,.24);outline-offset:2px}

/* Shell / navbar */
.premium-sidebar{padding:14px 12px 12px;background:linear-gradient(160deg,#112a22 0%,#0d3c2b 58%,#09603d 100%);border-left-color:rgba(255,255,255,.075);box-shadow:-18px 0 55px rgba(17,42,34,.08)}
.premium-sidebar::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 4%,rgba(67,192,128,.12),transparent 27%),radial-gradient(circle at 95% 92%,rgba(255,255,255,.045),transparent 25%)}
.premium-sidebar>*{position:relative;z-index:1}
.premium-brand{min-height:72px;padding:8px 8px 15px;border-bottom-color:rgba(255,255,255,.10)}
.brand-company-logo,.brand-mark{width:46px;height:46px;flex-basis:46px;border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.16)}
.brand-mark{background:linear-gradient(145deg,#1b9563,#43c080);font-size:17px;letter-spacing:-.03em}
.brand-copy strong{font-size:14px;font-weight:900;letter-spacing:0}.brand-copy small{color:rgba(255,255,255,.48);font-size:8px;letter-spacing:.12em}
.sidebar-quick{gap:8px;padding:13px 4px 9px}.sidebar-quick a{min-height:38px;border-color:rgba(124,222,169,.12);border-radius:11px;background:rgba(255,255,255,.05);color:#e4f1ea;font-size:10px}.sidebar-quick a:hover{background:rgba(68,192,128,.15);border-color:rgba(124,222,169,.24)}
.premium-nav{scrollbar-color:rgba(105,171,137,.38) transparent}
.premium-nav>a,.nav-section-links a{min-height:43px;margin:2px 0;padding:9px 10px;border-radius:11px;color:rgba(228,241,234,.72);font-size:11.25px;font-weight:720}
.premium-nav>a:hover,.nav-section-links a:hover{background:rgba(255,255,255,.065);color:#fff}
.premium-nav a.active,.nav-section-links a.active{background:linear-gradient(90deg,rgba(67,192,128,.17),rgba(67,192,128,.075));color:#fff;box-shadow:inset -3px 0 #62d396}
.nav-icon,.nav-section-symbol,.nav-chevron,.mnav-icon,.quick-icon,.shell-icon,.floating-home-icon,.floating-refresh-icon{width:20px;height:20px;flex:0 0 20px;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;background:none!important;border-radius:0!important;color:#8dd9b2!important}
.nav-section-symbol{width:19px;height:19px}.premium-nav a.active .nav-icon,.nav-section.open>.nav-section-toggle .nav-section-symbol{color:#6dd89f!important}
.nav-section-toggle{grid-template-columns:22px 1fr 16px;gap:10px;min-height:44px;padding:9px 10px;border-radius:11px;color:rgba(228,241,234,.78)}
.nav-section-toggle:hover,.nav-section.open>.nav-section-toggle{background:rgba(255,255,255,.05);color:#fff}.nav-section-toggle b{font-size:11.5px;font-weight:820}.nav-section-toggle .nav-chevron{width:15px;height:15px;color:rgba(255,255,255,.38);transition:transform .18s ease}.nav-section.open .nav-chevron{transform:rotate(180deg)}
.nav-section-links{padding-right:14px}.nav-section-links a{min-height:39px;font-size:10.7px}.nav-section-links .nav-icon{width:17px;height:17px;flex-basis:17px;color:rgba(141,217,178,.72)!important}
.premium-sidebar-footer{border-top-color:rgba(255,255,255,.09)}.logout-form button,.sidebar-pwa-install{border-color:rgba(255,255,255,.09)!important;background:rgba(255,255,255,.045)!important;color:#d8e9df!important;border-radius:11px!important}
.logout-form button:hover{background:rgba(196,61,61,.13)!important;color:#ffd9d9!important}

.premium-topbar{background:rgba(248,251,249,.91);border-bottom-color:rgba(207,219,212,.78);box-shadow:0 4px 22px rgba(17,42,34,.025)}
.topbar-workspace-title{color:var(--ui-text)}.menu-toggle,.mobile-command-btn,.command-launcher,.topbar-badge,.branch-switcher select,.branch-switcher.branch-fixed span{border-color:var(--ui-line);background:#fff;box-shadow:var(--ui-shadow-xs)}
.command-launcher:hover,.menu-toggle:hover,.mobile-command-btn:hover{border-color:#b8d4c5;background:#f6fbf8}
.pwa-install-btn{border-color:#c7e5d5;background:#edf8f2;color:#087a4b}.pwa-install-btn:hover{background:#def2e7}
.app-nav-loader span{background:linear-gradient(90deg,transparent,#0a7b4e,#58c58b,transparent)}

/* Typography and hierarchy */
.page-heading h1,.report-header h1,.panel-head h2,.product-block-title h2,.lookup-head h2{color:#17271f;font-weight:900;letter-spacing:-.018em}
.page-heading p,.report-header p,.panel-head p{color:#74827a}.eyebrow,.section-kicker{color:#0a7b4e;letter-spacing:.03em}
.content{padding-top:26px}.panel,.card,.report-card,.document-card,.table-wrap,.search-row,.filter-bar,.app-filter-bar,.report-filter-panel,.statement-toolbar{border-color:#dfe7e2;box-shadow:0 8px 25px rgba(17,42,34,.045)}
.panel-head{background:linear-gradient(180deg,#fff,#fbfdfc);border-bottom-color:#edf2ef}

/* Buttons */
.btn{min-height:41px;border-color:#cfdbd4;border-radius:11px;background:#fff;color:#3b4c43;box-shadow:0 2px 7px rgba(17,42,34,.035);font-weight:800}
.btn:hover{border-color:#aacabb;box-shadow:0 8px 20px rgba(17,42,34,.07)}
.btn.primary,.btn.btn-primary,.btn-primary{border-color:#0a7b4e!important;background:linear-gradient(135deg,#0a7b4e,#09603d)!important;color:#fff!important;box-shadow:0 9px 22px rgba(10,123,78,.17)!important}
.btn.primary:hover,.btn.btn-primary:hover,.btn-primary:hover{background:linear-gradient(135deg,#09603d,#075238)!important;color:#fff!important}
.btn.ghost{background:#fff}.icon-btn{border-color:#d9e4de;border-radius:10px}.link,.text-link{color:#0a7b4e}

/* Forms */
.form-grid>label,.product-form-grid>label,.price-entry-grid>label,.field{color:#3b4c43;font-weight:800}
.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea,.product-form-grid input,.product-form-grid select,.product-form-grid textarea,.price-entry-grid input,.price-entry-grid select,input.form-control,select.form-control,textarea.form-control,.smart-lookup-button{border-color:#d5e0da;border-radius:11px;background:#fff;box-shadow:0 2px 7px rgba(17,42,34,.025)}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.product-form-grid input:focus,.product-form-grid select:focus,.product-form-grid textarea:focus,input.form-control:focus,select.form-control:focus,textarea.form-control:focus,.smart-lookup-button:focus-visible{border-color:#62ae89!important;box-shadow:0 0 0 4px rgba(10,123,78,.09)!important}
.search-row input,.search-row select,.filter-bar input,.filter-bar select,.app-filter-bar input,.app-filter-bar select,.report-filter-panel input,.report-filter-panel select{border-color:#dbe5df;background:#f8fbf9}.search-row input:focus,.filter-bar input:focus,.app-filter-bar input:focus,.report-filter-panel input:focus{border-color:#62ae89;box-shadow:0 0 0 3px rgba(10,123,78,.09)}
.smart-lookup-search-icon{background:#edf8f2;color:#0a7b4e}

/* Tables */
th{background:#f5f8f6;color:#63736a;font-weight:900}td{color:#273a30}tbody tr:hover{background:#f6faf8}.table-wrap::-webkit-scrollbar-thumb{background:#c5d7cd}.table-toolbar button{background:#f7faf8}

/* Cards / KPIs */
.kpi-card,.stat,.kpi{border-color:#dfe7e2;box-shadow:0 9px 27px rgba(17,42,34,.05)}
.kpi-card::after,.stat::after,.kpi::after{background:#0a7b4e;opacity:.035}.kpi-card.accent{background:linear-gradient(145deg,#112a22,#09603d)}.kpi-card.accent .kpi-label,.kpi-card.accent small{color:#cce7d8}
.badge.good,.pill.good,.status-chip.good{border-color:#bfe8d1;background:#edf8f2;color:#087a4b}.status-chip.info{border-color:#cae6dc;background:#eff8f5;color:#216657}

/* Modals / command palette */
.lookup-backdrop,.command-palette-backdrop{background:rgba(17,42,34,.52)}.lookup-dialog,.command-dialog{border-color:#dbe5df;box-shadow:0 30px 80px rgba(17,42,34,.2)}.lookup-result:hover,.lookup-result.active{border-color:#cde5d8;background:#f5fbf7}.lookup-code,.lookup-pick{color:#0a7b4e}

/* Mobile navigation */
.mobile-bottom-nav{border-top-color:#d8e4dd;background:rgba(255,255,255,.96)}.mobile-bottom-nav a,.mobile-bottom-nav button{color:#66776e}.mobile-bottom-nav a.active{color:#087a4b}.mobile-bottom-nav .mnav-icon{color:currentColor!important}

/* Invoice / operational workspaces: make brand surfaces consistent with onboarding */
.invoice-summary-v3{border-top-color:#0a7b4e!important}.summary-total-hero{background:linear-gradient(135deg,#112a22 0%,#09603d 100%);box-shadow:0 8px 18px rgba(9,96,61,.14)}
.invoice-lines-v3 .invoice-lines-table-v2 tbody tr:hover{background:#f7fbf8;box-shadow:inset 3px 0 0 #0a7b4e}.invoice-lines-v3 .line-net-cell{background:linear-gradient(180deg,#f8fbf9,#f1f8f4)}.invoice-lines-v3 .line-net-cell strong{color:#087a4b}

/* Legacy bootstrap-like elements used by a few screens */
.form-control:focus{border-color:#62ae89!important;box-shadow:0 0 0 .2rem rgba(10,123,78,.10)!important}.text-primary{color:#0a7b4e!important}.bg-primary{background-color:#0a7b4e!important}.border-primary{border-color:#0a7b4e!important}

@media(max-width:900px){.premium-sidebar{box-shadow:-16px 0 54px rgba(17,42,34,.22)}.content{padding-top:20px}}

.ui-icon-sprite{pointer-events:none}.sidebar-close .shell-icon,.icon-btn .shell-icon{width:18px;height:18px}.lookup-search .shell-icon,.command-search .shell-icon{width:18px;height:18px;color:#6f7e76}.floating-home-icon,.floating-refresh-icon{width:17px;height:17px;color:currentColor!important}
