@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--p-ink:#263445;--p-muted:#64748b;--p-line:#dbe3ed;--p-bg:#f4f7fb;--p-green:#245A91;--p-deep:#17365D}
.app-shell{min-height:100vh;background:var(--p-bg);color:var(--p-ink);font-family:"DM Sans",Arial,sans-serif}
.app-shell[hidden],[hidden]{display:none!important}
.app-shell *{box-sizing:border-box}
.portal-header{height:82px;background:#fff;border-bottom:1px solid var(--p-line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(16px,4vw,58px);gap:20px;position:sticky;top:0;z-index:40}
.portal-brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;min-width:245px}
.portal-logo{width:48px;height:48px;flex:0 0 48px;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 4px 13px rgba(20,55,110,.12);border:1px solid #e8edf5}
.portal-brand-text strong{display:block;font:800 11px Manrope;letter-spacing:1.05px;color:#173f78}
.portal-brand-text small{display:block;color:#7e8b9c;font-size:8px;letter-spacing:1.4px;margin-top:4px}
.portal-tabs{display:flex;align-items:center;gap:5px;padding:5px;background:#f3f7f4;border:1px solid #eaf0ec;border-radius:12px}
.portal-tab{height:42px;padding:0 19px;border:0;border-radius:8px;background:transparent;color:#74837a;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;white-space:nowrap;transition:.2s}
.portal-tab:hover{color:var(--p-green);background:#eaf3ed}
.portal-tab.active{background:#fff;color:var(--p-green);box-shadow:0 2px 9px #203c2d12}
.tab-icon{font-size:17px;line-height:1}
.portal-header-right{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.portal-date{font-size:10px;color:#829188;white-space:nowrap}
.portal-logout{border:1px solid #e3ebe5;background:#fff;color:#46574e;border-radius:9px;padding:10px 13px;font-size:10px;font-weight:800;white-space:nowrap}
.portal-logout:hover{border-color:#b8d2c2;color:var(--p-green)}
.portal-main{max-width:1500px;margin:0 auto;padding:28px clamp(15px,4vw,58px) 20px}
.portal-page[hidden]{display:none!important}
.portal-hero{min-height:260px;border-radius:21px;padding:35px 43px;background:linear-gradient(112deg,#17365D 0%,#245A91 62%,#3D6FA3 100%);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;position:relative;overflow:hidden;box-shadow:0 15px 36px #153e3020}
.portal-hero:after{content:"";position:absolute;width:400px;height:400px;border:1px solid #ffffff13;border-radius:50%;right:4%;top:-60%;box-shadow:0 0 0 34px #ffffff08,0 0 0 75px #ffffff05}
.portal-hero-copy{position:relative;z-index:2}.portal-eyebrow{display:block;color:#C9D8E8;font-size:8px;font-weight:800;letter-spacing:1.8px;margin-bottom:9px}.portal-eyebrow.dark{color:#8b9e92}
.portal-hero h2{font:800 clamp(27px,3vw,40px)/1.15 Manrope;letter-spacing:-1.4px;margin:0;max-width:560px}.portal-hero h2 em{font-style:normal;color:#DCE7F5}
.portal-hero p{max-width:440px;color:#E5EDF7;font-size:11px;line-height:1.8;margin:13px 0 20px}
.portal-hero-actions{display:flex;align-items:center;gap:18px}
.portal-primary{border:0;border-radius:9px;background:#f8fcf9;color:#17365D;padding:12px 17px;font-size:10px;font-weight:800;box-shadow:0 5px 14px #071f1620;transition:.2s}
.portal-primary:hover{background:#E8EEF6;transform:translateY(-1px)}
.portal-primary.solid{background:var(--p-green);color:#fff;box-shadow:none}
.portal-primary.solid:hover{background:#1f6b6d}
.portal-hero-link{border:0;background:transparent;color:#E8EEF6;font-size:10px;font-weight:800;padding:10px 0}.portal-hero-link span{margin-left:7px}
.portal-hero-visual{height:190px;position:relative;display:flex;align-items:center;justify-content:center}
.hero-circle{position:absolute;border:1px solid #ffffff2b;border-radius:50%;transform:rotate(-25deg)}.circle-one{width:265px;height:140px}.circle-two{width:215px;height:110px;transform:rotate(35deg);border-color:#c5e5d12b}
.hero-float-card{position:relative;z-index:1;width:250px;min-height:91px;border-radius:14px;background:#f8fcf9;color:#17365D;box-shadow:0 18px 30px #08291d40;display:flex;align-items:center;gap:12px;padding:15px;transform:rotate(-4deg)}
.float-rupee{width:41px;height:41px;border-radius:11px;background:#E8EEF6;color:#245A91;display:grid;place-items:center;font:800 22px Manrope}
.hero-float-card small{display:block;font-size:7px;letter-spacing:1.2px;color:#8da398;font-weight:800}.hero-float-card b{display:block;font:800 15px Manrope;margin-top:4px}
.float-check{margin-left:auto;width:22px;height:22px;border-radius:50%;background:#E5EDF7;color:#245A91;display:grid;place-items:center;font-size:11px}
.hero-float-label{position:absolute;bottom:1px;right:1%;font-size:7px;letter-spacing:1.6px;color:#DCE7F5}
.portal-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:29px 0 14px}
.portal-section-head h2{font:800 19px Manrope;margin:0 0 4px;letter-spacing:-.5px}.portal-section-head p{margin:0;color:var(--p-muted);font-size:10px}
.portal-live{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #dceee2;border-radius:30px;background:#eaf5ee;color:#39805e;font-size:9px;font-weight:800}.portal-live i{width:6px;height:6px;border-radius:50%;background:#3da675}
.portal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.portal-kpi{min-height:155px;background:#fff;border:1px solid var(--p-line);border-radius:14px;padding:16px 17px;position:relative;overflow:hidden;box-shadow:0 4px 15px #193b2b07}
.portal-kpi:after{content:"";position:absolute;width:85px;height:85px;border:1px solid #edf2ee;border-radius:50%;right:-37px;top:35px;box-shadow:0 0 0 13px #fafcfb}
.kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#a0aca5;font-size:7px;font-weight:800;letter-spacing:1px;position:relative;z-index:1}
.kpi-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;font-size:16px}.kpi-icon.green{background:#e6f2ef;color:#197454}.kpi-icon.blue{background:#edf2fc;color:#597bb7}.kpi-icon.amber{background:#fff3df;color:#bb8732}.kpi-icon.violet{background:#f1edfa;color:#8667b8}
.portal-kpi label{display:block;font-size:10px;color:#7b8981;font-weight:700;margin-bottom:3px}.portal-kpi strong{display:block;font:800 27px Manrope;color:#1d3329;letter-spacing:-.8px;position:relative;z-index:1}.portal-kpi small{font-size:9px;color:#9aa69f}
.portal-dashboard-bottom{display:grid;grid-template-columns:1.05fr .95fr;gap:13px;margin-top:13px}
.portal-sales-card,.portal-shortcuts,.portal-table-card{background:#fff;border:1px solid var(--p-line);border-radius:14px;box-shadow:0 4px 15px #193b2b07}
.portal-sales-card{min-height:170px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#fff,#f2f8f3)}
.portal-sales-card label{display:block;color:#7b8981;font-size:11px;font-weight:700}.portal-sales-card strong{display:block;font:800 29px Manrope;margin:8px 0 4px}.portal-sales-card small{color:#96a29b;font-size:9px}
.sales-rupee{width:46px;height:46px;border-radius:14px;background:#E8EEF6;color:#245A91;display:grid;place-items:center;font:800 23px Manrope;margin-right:7px}
.portal-shortcuts{padding:18px 20px}.shortcut-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.shortcut-heading h3{font:800 14px Manrope;margin:0}.shortcut-heading>span{color:#c4a46e}
.shortcut-row{width:100%;display:flex;align-items:center;gap:11px;padding:10px 0;border:0;border-top:1px solid #f0f3f1;background:transparent;text-align:left}
.shortcut-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center}.shortcut-icon.green{background:#e6f2ef;color:#368a84}.shortcut-icon.violet{background:#f0edfa;color:#8264b4}
.shortcut-row>span:nth-child(2){display:grid;gap:3px;flex:1}.shortcut-row b{font-size:10px;color:#30443a}.shortcut-row small{font-size:9px;color:#8c9992}.shortcut-row i{font-style:normal;color:#398363}
.portal-table-card{padding:19px 20px;margin-top:13px}.portal-table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.portal-table-heading h3{font:800 14px Manrope;margin:0 0 5px}.portal-table-heading p{font-size:10px;color:#8d9a92;margin:0}
.portal-view-link{border:0;background:transparent;color:#245A91;font-size:10px;font-weight:800}
.portal-table-scroll{overflow-x:auto;width:100%}.portal-table-scroll table{width:100%;border-collapse:collapse;white-space:nowrap}
.portal-table-scroll th{text-align:left;font-size:8px;letter-spacing:1px;color:#95a199;font-weight:800;padding:11px 10px;border-bottom:1px solid var(--p-line)}
.portal-table-scroll td{font-size:10px;color:#4d5d54;padding:13px 10px;border-bottom:1px solid #f0f3f1}
.empty-cell{text-align:center!important;color:#9aa69f;padding:25px!important}
.portal-page-title{display:flex;justify-content:space-between;align-items:center;margin:4px 0 20px}.portal-page-title h2{font:800 25px Manrope;margin:0 0 5px}.portal-page-title p{font-size:10px;color:var(--p-muted);margin:0}
.page-title-icon{width:48px;height:48px;border-radius:14px;background:#e6f1e9;color:#1c7659;display:grid;place-items:center;font-size:22px}
.portal-form-card{padding-bottom:21px}.portal-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;align-items:end}.stock-form{grid-template-columns:repeat(5,minmax(0,1fr))}
.portal-form label{display:grid;gap:7px;font-size:10px;color:#64736b;font-weight:700}
.portal-form input,.portal-form select,.portal-search{width:100%;height:41px;border:1px solid #e1e9e4;border-radius:8px;padding:0 11px;background:#fff;color:var(--p-ink);font-size:11px;outline:none}
.portal-form input:focus,.portal-form select:focus,.portal-search:focus{border-color:#6aa995;box-shadow:0 0 0 3px #18765f12}
.portal-form-actions{display:flex;gap:8px;grid-column:1/-1}.portal-secondary{height:41px;padding:0 15px;background:#fff;border:1px solid var(--p-line);border-radius:9px;color:#53645a;font-size:10px;font-weight:700}
.portal-helper{font-size:10px;color:#899790;margin:13px 0 0}.portal-search{max-width:230px}
.stock-badge{display:inline-block;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:800}.stock-badge.good{background:#e7f5ed;color:#247653}.stock-badge.low{background:#fff2dc;color:#a36b13}
.table-action{border:0;background:transparent;color:var(--p-green);font-size:10px;font-weight:800;margin-right:7px}.table-action.danger{color:#b94c47}
.portal-footer{text-align:center;color:#9ba79f;font-size:8px;letter-spacing:1.3px;padding:19px}.portal-footer span{color:#c5a36a;margin:0 5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.portal-header{grid-template-columns:auto 1fr auto;padding:0 18px;gap:10px}.portal-brand{min-width:190px}.portal-tab{padding:0 12px}.portal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .portal-header{height:auto;min-height:108px;padding:10px 12px;grid-template-columns:1fr auto;gap:9px}
 .portal-brand{min-width:0}.portal-logo{width:38px;height:38px;flex-basis:38px;border-radius:50%}.portal-brand-text strong{font-size:9px}.portal-brand-text small{font-size:7px;letter-spacing:1px}
 .portal-header-right{grid-column:2;grid-row:1;gap:7px}.portal-date{display:none}.portal-logout{padding:8px 10px;font-size:9px}
 .portal-tabs{grid-column:1/-1;grid-row:2;width:100%;justify-content:stretch;padding:4px;gap:4px}
 .portal-tab{height:38px;flex:1;justify-content:center;padding:0 5px;font-size:10px;gap:6px}.tab-icon{font-size:15px}
 .portal-main{padding:15px 12px 18px}
 .portal-hero{grid-template-columns:1fr;padding:24px 20px 14px;min-height:0;border-radius:15px}
 .portal-hero h2{font-size:27px;letter-spacing:-1px}.portal-hero p{font-size:10px}
 .portal-hero-visual{height:125px;margin-top:6px}.hero-float-card{width:215px;min-height:75px}.hero-float-label{bottom:-1px}
 .portal-section-head{margin:22px 0 12px}.portal-section-head h2{font-size:17px}
 .portal-kpis{gap:8px}.portal-kpi{padding:13px 11px;min-height:135px;border-radius:11px}.kpi-icon{width:29px;height:29px}.portal-kpi strong{font-size:24px}.portal-kpi small{font-size:8px}
 .portal-dashboard-bottom{grid-template-columns:1fr;gap:9px;margin-top:9px}.portal-sales-card{min-height:145px;padding:17px}.portal-sales-card strong{font-size:26px}
 .portal-shortcuts{padding:16px}.portal-table-card{padding:14px 12px;margin-top:10px;border-radius:11px}
 .portal-table-heading{align-items:flex-start}.portal-table-heading h3{font-size:13px}.portal-table-heading p{font-size:9px}.portal-view-link{font-size:9px}
 .portal-page-title h2{font-size:22px}.portal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stock-form{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-search{max-width:145px;height:36px}
 .portal-table-scroll th{font-size:7px;padding:10px 8px}.portal-table-scroll td{font-size:9px;padding:11px 8px}
}
@media(max-width:370px){.portal-tab{font-size:9px}.tab-icon{display:none}.portal-kpi{padding:11px 9px}.portal-kpi strong{font-size:22px}}

/* Match the sign-in interface's typography and restrained teal/coral identity. */
.app-shell,.app-shell button,.app-shell input,.app-shell select{font-family:"DM Sans",Arial,sans-serif}
.portal-header{box-shadow:0 3px 14px rgba(31,67,67,.035)}
.portal-tab.active{background:#fff;color:#245A91;box-shadow:0 3px 12px rgba(40,127,130,.12)}
.portal-tab.active .tab-icon{color:#245A91}
.portal-primary.solid{background:#245A91}
.portal-primary.solid:hover{background:#216d70}
.portal-live i{background:#6eb18b}
.portal-kpi,.portal-sales-card,.portal-shortcuts,.portal-table-card{border-color:#e5ebea}
.portal-kpi strong,.portal-sales-card strong{color:#1f343b}
.portal-eyebrow.dark{color:#628184}
.portal-page-title .portal-eyebrow.dark{color:#628184}
.portal-form input:focus,.portal-form select:focus,.portal-search:focus{border-color:#68a6a3;box-shadow:0 0 0 3px rgba(40,127,130,.10)}
.portal-logout:hover,.portal-view-link,.shortcut-row i,.table-action{color:#245A91}
.portal-hero{background:linear-gradient(112deg,#17365D 0%,#245A91 64%,#3b9290 100%)}
.portal-hero:before{content:"";position:absolute;inset:auto -60px -180px auto;width:360px;height:360px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 78px rgba(255,255,255,.025)}
.portal-hero:after{display:none}
.portal-primary{font-size:11px}
.portal-hero h2,.portal-section-head h2,.portal-page-title h2{font-family:Manrope,sans-serif}
.portal-table-heading h3,.shortcut-heading h3{font-family:Manrope,sans-serif}

/* User Stock workspace */
.stock-add-top{white-space:nowrap}
.stock-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 13px}
.stock-overview-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--p-line);border-radius:13px;padding:15px 16px;min-height:91px;box-shadow:0 4px 14px rgba(31,67,67,.035)}
.stock-overview-icon{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;font-size:16px;font-weight:800}
.stock-overview-icon.teal{background:#e6f2ef;color:#245A91}.stock-overview-icon.blue{background:#edf2fc;color:#597bb7}.stock-overview-icon.amber{background:#fff3df;color:#bb8732}.stock-overview-icon.violet{background:#f1edfa;color:#8667b8}
.stock-overview-card div{display:grid;gap:3px;min-width:0}.stock-overview-card small{font-size:7px;letter-spacing:1px;color:#91a098;font-weight:800}.stock-overview-card strong{font:800 19px Manrope;color:#203a3c;overflow-wrap:anywhere}.stock-overview-card span:last-child{font-size:8px;color:#91a098}
.stock-form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}
.stock-form-heading h3{font:800 15px Manrope;margin:0 0 5px}.stock-form-heading p{font-size:10px;color:#8d9a92;margin:0}
.stock-form-symbol{width:37px;height:37px;border-radius:11px;background:#e6f2ef;color:#245A91;display:grid;place-items:center;font-size:20px}
.stock-list-card{margin-top:13px}.stock-list-heading{align-items:center}
.stock-list-tools{display:flex;align-items:center;gap:9px}
.stock-search-wrap{position:relative;display:block}.stock-search-wrap>span{position:absolute;left:11px;top:7px;font-size:19px;color:#91a098;z-index:1}
.stock-search-wrap .portal-search{padding-left:32px;min-width:240px}
.stock-table-foot{display:flex;justify-content:space-between;gap:10px;padding-top:12px;margin-top:3px;border-top:1px solid #eef2ef;color:#97a39c;font-size:8px}
#stockEditor{scroll-margin-top:105px}
@media(max-width:760px){
 .portal-page-title{align-items:flex-start;gap:10px}.stock-add-top{padding:10px 11px;font-size:9px}
 .stock-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .stock-overview-card{padding:11px 10px;min-height:78px;gap:9px}.stock-overview-icon{width:31px;height:31px;flex-basis:31px}
 .stock-overview-card strong{font-size:17px}.stock-overview-card span:last-child{font-size:7px}
 .stock-form-heading h3{font-size:14px}.stock-list-heading{align-items:flex-start;flex-direction:column}
 .stock-list-tools,.stock-search-wrap{width:100%}.stock-search-wrap .portal-search{max-width:none;width:100%;min-width:0}
 .stock-table-foot{font-size:7px}
}

/* Professional receipt-voucher entry form */
.receipt-form-card{padding:22px 23px 20px}
.receipt-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 13px}
.receipt-form label{min-width:0}
.receipt-form textarea{width:100%;min-height:76px;resize:vertical;border:1px solid #e1e9e4;border-radius:8px;padding:10px 11px;background:#fff;color:var(--p-ink);font:11px "DM Sans",Arial,sans-serif;outline:none}
.receipt-form textarea:focus{border-color:#68a6a3;box-shadow:0 0 0 3px rgba(40,127,130,.10)}
.receipt-form input[readonly]{background:#f4f7f5;color:#75857d}
.receipt-summary-field{grid-column:span 2}
.receipt-preview-note{grid-column:span 2;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:11px 14px;border:1px solid #dce9e2;border-radius:9px;background:#f3f8f5;min-width:0}
.receipt-preview-note span{font-size:8px;letter-spacing:1px;font-weight:800;color:#75877e}
.receipt-preview-note strong{font-size:11px;line-height:1.5;color:#17365D;font-weight:700}
.receipt-form .portal-form-actions{grid-column:1/-1;margin-top:2px}
@media(max-width:900px){.receipt-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.receipt-form-card{padding:15px 12px}.receipt-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.receipt-form label{font-size:9px}.receipt-form input,.receipt-form select{font-size:10px}.receipt-summary-field,.receipt-preview-note{grid-column:1/-1}}
@media print{.receipt-form{display:none}}

/* Premium colour polish: invoice actions and neatly aligned data tables */
.portal-secondary,
#clearReceiptForm,
#cancelEditBtn{background:#dc3545!important;color:#fff!important;border:1px solid #dc3545!important;box-shadow:0 4px 10px rgba(220,53,69,.16);transition:transform .18s ease,filter .18s ease}
.portal-secondary:hover,
#clearReceiptForm:hover,
#cancelEditBtn:hover{filter:brightness(.93);transform:translateY(-1px)}
.portal-primary.solid{background:linear-gradient(135deg,#167b78,#239c91)!important;color:#fff!important;border:0!important;box-shadow:0 5px 14px rgba(22,123,120,.2)}
.portal-primary.solid:hover{filter:brightness(1.05);transform:translateY(-1px)}
#invoicePage .portal-table-scroll table{border-collapse:separate;border-spacing:0;border:1px solid #e3eaf0;border-radius:12px;overflow:hidden}
#invoicePage .portal-table-scroll thead{background:linear-gradient(90deg,#eaf4f3,#eef2fa)}
#invoicePage .portal-table-scroll th{background:transparent;color:#315c60;text-align:center!important;font-size:9px;font-weight:800;letter-spacing:.7px;padding:14px 12px;border-bottom:1px solid #dce8e7}
#invoicePage .portal-table-scroll td{text-align:center!important;vertical-align:middle;padding:14px 12px;border-bottom:1px solid #edf1f4;font-size:11px;color:#43535f}
#invoicePage .portal-table-scroll th:nth-child(2),#invoicePage .portal-table-scroll td:nth-child(2){text-align:left!important}
#invoicePage .portal-table-scroll tbody tr:nth-child(even){background:#f8fbfc}
#invoicePage .portal-table-scroll tbody tr:hover{background:#eef8f6}
#invoicePage .table-action{background:#e8f3f2;color:#167b78;border:1px solid #cde3e0;border-radius:7px;padding:7px 12px;font-weight:800}
#invoicePage .table-action:hover{background:#167b78;color:#fff}
@media(max-width:760px){#invoicePage .portal-table-scroll th,#invoicePage .portal-table-scroll td{padding:11px 9px}}

/* Unified premium table styling: keep descriptive text columns left-aligned */
.portal-table-scroll table{border-collapse:separate;border-spacing:0;width:100%;border:1px solid #e3eaf0;border-radius:12px;overflow:hidden}
.portal-table-scroll thead{background:linear-gradient(90deg,#eaf4f3,#eef2fa)}
.portal-table-scroll th{background:transparent;color:#315c60;text-align:center!important;font-size:9px;font-weight:800;letter-spacing:.65px;padding:13px 12px;border-bottom:1px solid #dce8e7;vertical-align:middle}
.portal-table-scroll td{text-align:center!important;vertical-align:middle;padding:13px 12px;border-bottom:1px solid #edf1f4;font-size:11px;color:#43535f}
.portal-table-scroll tbody tr:nth-child(even){background:#f8fbfc}
.portal-table-scroll tbody tr:hover{background:#eef8f6}
/* Customer and Model are descriptive fields, so start from the left */
#recentInvoiceRows td:nth-child(2),
#invoiceRows td:nth-child(2),#invoiceRows td:nth-child(3),
#invoicePage .portal-table-scroll th:nth-child(2),#invoicePage .portal-table-scroll td:nth-child(2),
#invoicePage .portal-table-scroll th:nth-child(3),#invoicePage .portal-table-scroll td:nth-child(3),
#stockRows td:nth-child(1),#stockRows td:nth-child(2),
#stockPage .portal-table-scroll th:nth-child(1),#stockPage .portal-table-scroll th:nth-child(2){text-align:left!important}
#invoicePage .portal-table-scroll th:nth-child(3),#invoicePage .portal-table-scroll td:nth-child(3){text-align:left!important}
.portal-table-scroll tbody tr:last-child td{border-bottom:0}
@media(max-width:760px){.portal-table-scroll th,.portal-table-scroll td{padding:11px 9px;font-size:9px}}

/* BRAND HEADER + NAV TABS — CORPORATE NAVY BLUE */
.portal-header{
  background:#17365D !important;
  border-bottom:1px solid #245A91 !important;
}
.portal-brand-text strong,
.portal-brand-text small,
.portal-date{color:#fff !important;}
.portal-tabs{
  background:#17365D !important;
  border:1px solid rgba(255,255,255,.28) !important;
}
.portal-tab{
  background:transparent !important;
  color:#fff !important;
}
.portal-tab .tab-icon{color:#fff !important;}
.portal-tab:hover{
  background:#245A91 !important;
  color:#fff !important;
}
.portal-tab.active{
  background:#fff !important;
  color:#17365D !important;
  box-shadow:0 2px 9px rgba(75,18,45,.18) !important;
}
.portal-tab.active .tab-icon{color:#17365D !important;}
.portal-logout{
  background:#fff !important;
  color:#17365D !important;
  border:1px solid #fff !important;
}
.portal-logout:hover{background:#E8EEF6 !important;color:#245A91 !important;}

/* CORPORATE NAVY BLUE BRAND THEME — DASHBOARD WELCOME BANNER */
.portal-hero{
  background:linear-gradient(112deg,#245A91 0%,#17365D 56%,#3D6FA3 100%) !important;
  box-shadow:0 15px 36px rgba(168,50,101,.18) !important;
}
.portal-hero:before{
  content:"";position:absolute;inset:auto -60px -180px auto;width:360px;height:360px;
  border:1px solid rgba(255,255,255,.18);border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,255,255,.055),0 0 0 78px rgba(255,255,255,.035);
}
.portal-hero:after{border-color:rgba(255,255,255,.16);box-shadow:0 0 0 34px rgba(255,255,255,.055),0 0 0 75px rgba(255,255,255,.035)}
.portal-eyebrow{color:#DCE7F5 !important}
.portal-hero h2 em{color:#E4EDF8 !important}
.portal-hero p{color:#F4F7FB !important}
.portal-primary{background:#fff !important;color:#245A91 !important}
.portal-primary:hover{background:#E8EEF6 !important;color:#17365D !important}
.portal-hero-link{color:#fff !important}
.hero-circle{border-color:rgba(255,255,255,.24) !important}
.hero-float-card{background:#fff !important;color:#17365D !important;box-shadow:0 18px 30px rgba(86,20,49,.25) !important}
.float-rupee{background:#E8EEF6 !important;color:#17365D !important}
.hero-float-card small{color:#64748B !important}
.float-check{background:#E8EEF6 !important;color:#17365D !important}
.hero-float-label{color:#E4EDF8 !important}

/* ==========================================================
   SHREE UMIYA DHAM — UNIFIED CORPORATE NAVY BLUE DESIGN SYSTEM
   Consistent brand colours, refined section headings & compact tables
   ========================================================== */
:root{
  --brand:#17365D;
  --brand-dark:#17365D;
  --brand-deep:#102744;
  --brand-soft:#E8EEF6;
  --brand-pale:#F4F7FB;
  --brand-line:#D5DFEA;
  --ink:#293342;
  --muted:#748091;
  --table-head:#E8EEF6;
  --table-line:#E4EAF1;
}

/* Common brand accents across every portal page */
.portal-eyebrow,.portal-eyebrow.dark{color:var(--brand-dark)!important}
.portal-section-head h2,.portal-page-title h2,.portal-table-heading h3,
.stock-form-heading h3,.shortcut-heading h3{color:var(--ink)!important}
.portal-page-title p,.portal-table-heading p,.stock-form-heading p{color:var(--muted)!important}
.page-title-icon,.stock-form-symbol{background:var(--brand-soft)!important;color:var(--brand)!important}
.portal-kpi,.stock-overview-card,.portal-sales-card,.portal-shortcuts,.portal-table-card{
  border-color:var(--brand-line)!important;
}
.stock-overview-icon.teal,.stock-overview-icon.blue,.stock-overview-icon.amber,.stock-overview-icon.violet{
  background:var(--brand-soft)!important;color:var(--brand)!important;
}
.shortcut-row i,.portal-view-link,.table-action{color:var(--brand)!important}
.portal-view-link:hover{color:var(--brand-dark)!important}

/* Consistent buttons and form focus states */
.portal-primary,.portal-primary.solid,.stock-add-top,
button[data-stock-add],#saveProductBtn,#saveReceiptBtn{
  background:linear-gradient(135deg,var(--brand-dark),var(--brand))!important;
  color:#fff!important;border:1px solid var(--brand)!important;
  box-shadow:0 5px 13px rgba(23,54,93,.16)!important;
}
.portal-primary:hover,.portal-primary.solid:hover,.stock-add-top:hover,
button[data-stock-add]:hover,#saveProductBtn:hover,#saveReceiptBtn:hover{
  background:var(--brand-deep)!important;color:#fff!important;
}
input:focus,select:focus,textarea:focus,.portal-search:focus{
  border-color:var(--brand)!important;box-shadow:0 0 0 3px rgba(23,54,93,.12)!important;outline:none!important;
}

/* Section headings: clear hierarchy and subtle navy accent */
.portal-section-head,.portal-page-title,.portal-table-heading,.stock-form-heading{
  position:relative;
}
.portal-table-heading,.stock-form-heading{padding-bottom:10px;margin-bottom:12px!important;border-bottom:1px solid var(--brand-line)}
.portal-table-heading h3,.stock-form-heading h3{font-size:14px!important;letter-spacing:-.2px}
.portal-table-heading h3:before,.stock-form-heading h3:before{
  content:"";display:inline-block;width:4px;height:15px;border-radius:4px;
  background:var(--brand);margin-right:9px;vertical-align:-2px;
}
.portal-page-title{padding-bottom:12px;border-bottom:1px solid var(--brand-line)}

/* Compact, polished tables throughout dashboard, stock and invoice */
.portal-table-scroll table{border:1px solid var(--brand-line)!important;border-radius:11px!important;border-spacing:0!important;overflow:hidden}
.portal-table-scroll thead{background:var(--table-head)!important}
.portal-table-scroll th{
  background:var(--table-head)!important;color:var(--brand-dark)!important;
  font-size:8px!important;font-weight:800!important;letter-spacing:.75px!important;
  padding:9px 10px!important;height:34px;vertical-align:middle!important;
  border-bottom:1px solid var(--brand-line)!important;
}
.portal-table-scroll td{
  padding:7px 10px!important;height:35px;line-height:1.25!important;
  font-size:10px!important;color:#465161!important;
  border-bottom:1px solid var(--table-line)!important;vertical-align:middle!important;
}
.portal-table-scroll tbody tr:nth-child(even){background:#F8FAFD!important}
.portal-table-scroll tbody tr:hover{background:#EAF0F8!important}
.portal-table-scroll tbody tr:last-child td{border-bottom:0!important}
.portal-table-scroll .empty-cell{padding:18px 10px!important;color:var(--muted)!important;text-align:center!important}
.table-action{
  background:var(--brand-soft)!important;color:var(--brand-dark)!important;
  border:1px solid var(--brand-line)!important;border-radius:6px!important;
  padding:5px 9px!important;font-size:9px!important;
}
.table-action:hover{background:var(--brand)!important;color:#fff!important}
.table-action.danger{background:#FDEBEC!important;color:#B93843!important;border-color:#F4C9CD!important}
.stock-badge.good{background:#E8EEF6!important;color:var(--brand-dark)!important}

/* Invoice history and recent invoice table share the same brand styling */
#invoicePage .portal-table-scroll th,#invoicePage .portal-table-scroll td{padding-top:7px!important;padding-bottom:7px!important}
#invoicePage .portal-table-scroll tbody tr:hover{background:#EAF0F8!important}

@media(max-width:760px){
  .portal-table-scroll th{padding:8px 8px!important;font-size:7px!important}
  .portal-table-scroll td{padding:7px 8px!important;font-size:9px!important;height:32px}
  .portal-table-heading,.stock-form-heading{padding-bottom:8px}
}

/* Consistent hand cursor for every interactive control */
button,
a,
[role="button"],
[role="tab"],
[data-page],
[data-go],
[data-action],
[data-stock-add],
[data-edit],
[data-delete],
[data-print],
input[type="button"],
input[type="submit"],
input[type="reset"],
label[for] {
  cursor: pointer !important;
}

/* Keep disabled controls visibly disabled */
button:disabled,
[aria-disabled="true"],
.is-disabled {
  cursor: not-allowed !important;
}

/* HOME: detailed recent invoice table — Corporate Navy */
#dashboardPage .home-recent-heading{align-items:center;padding:2px 2px 13px;border-bottom:1px solid #e8edf4;margin-bottom:14px}
#dashboardPage .home-recent-heading h3{font-size:16px;color:#17365D;font-weight:800;letter-spacing:-.2px;margin:4px 0 5px}
#dashboardPage .home-recent-heading p{font-size:11px;color:#718096;margin:0}
#dashboardPage .home-recent-heading .portal-view-link{background:#edf3fa;color:#17365D;border:1px solid #dce6f1;border-radius:8px;padding:9px 13px;font-weight:800;cursor:pointer}
#dashboardPage .home-recent-heading .portal-view-link:hover{background:#17365D;color:#fff}
#dashboardPage .home-recent-scroll{border:1px solid #e1e8f0;border-radius:11px;overflow-x:auto}
#dashboardPage .home-recent-table{min-width:930px;border:0;border-radius:0;border-collapse:separate;border-spacing:0}
#dashboardPage .home-recent-table thead{background:linear-gradient(90deg,#e8eef6,#f3f6fa)}
#dashboardPage .home-recent-table th{background:transparent;color:#17365D;font-size:9px;letter-spacing:.65px;font-weight:800;padding:13px 12px;border-bottom:1px solid #dbe4ef;text-align:center!important}
#dashboardPage .home-recent-table td{padding:11px 12px;font-size:10px;color:#475569;text-align:center!important;vertical-align:middle;border-bottom:1px solid #edf1f6}
#dashboardPage .home-recent-table tbody tr:nth-child(even){background:#f8fafd}
#dashboardPage .home-recent-table tbody tr:hover{background:#edf3fa}
#dashboardPage .home-recent-table th:nth-child(2),#dashboardPage .home-recent-table td:nth-child(2),
#dashboardPage .home-recent-table th:nth-child(3),#dashboardPage .home-recent-table td:nth-child(3){text-align:left!important}
#dashboardPage .home-invoice-number{display:inline-block;padding:5px 8px;border-radius:6px;background:#eaf0f8;color:#17365D;font-weight:800;font-size:9px;letter-spacing:.2px}
#dashboardPage .home-customer-cell b{display:block;color:#263445;font-size:10px;font-weight:800}
#dashboardPage .home-customer-cell small{display:block;margin-top:3px;color:#8491a2;font-size:9px}
#dashboardPage .home-model-cell{font-weight:700;color:#334155!important;white-space:normal;min-width:175px}
#dashboardPage .home-chassis{font-family:ui-monospace,Consolas,monospace;font-size:9px;color:#64748b;letter-spacing:.15px}
#dashboardPage .home-payment-pill{display:inline-block;padding:5px 9px;border-radius:20px;background:#eef3f9;color:#31577f;font-size:9px;font-weight:800}
#dashboardPage .home-amount{color:#17365D;font-size:11px;font-weight:900;white-space:nowrap}
#dashboardPage .home-recent-table .empty-cell{padding:28px 14px;text-align:center!important;color:#8190a2}
@media(max-width:760px){#dashboardPage .home-recent-heading{align-items:flex-start}#dashboardPage .home-recent-heading h3{font-size:14px}#dashboardPage .home-recent-heading .portal-view-link{font-size:9px;padding:8px 10px}}


/* HOME: MODEL-WISE LOW STOCK TABLE */
.low-stock-card{margin-top:22px;overflow:hidden}
.low-stock-heading{padding:22px 24px 16px}
.low-stock-heading h3{margin:5px 0 6px;color:#17365D;font-size:19px;font-weight:800;letter-spacing:-.25px}
.low-stock-heading p{margin:0;color:#68788c;font-size:12px;line-height:1.55}
.home-low-stock-table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px}
.home-low-stock-table thead th{background:#E8EEF6;color:#17365D;font-size:10px;font-weight:800;letter-spacing:.65px;text-align:center;padding:13px 15px;border-bottom:1px solid #d9e2ee;white-space:nowrap}
.home-low-stock-table thead th:nth-child(1),.home-low-stock-table thead th:nth-child(2){text-align:left}
.home-low-stock-table tbody td{padding:11px 15px;border-bottom:1px solid #edf1f6;color:#34445a;font-size:12px;text-align:center;vertical-align:middle;line-height:1.4}
.home-low-stock-table tbody tr:nth-child(even){background:#F7F9FC}
.home-low-stock-table tbody tr:hover{background:#EDF3FA}
.home-low-stock-table .low-stock-product,.home-low-stock-table .low-stock-model{text-align:left}
.low-stock-product b{color:#24364d;font-weight:750}
.low-stock-model{max-width:420px}
.low-stock-qty strong{display:inline-block;color:#17365D;font-size:15px;font-weight:850;margin-right:5px}
.low-stock-qty span{color:#77869a;font-size:10px}
.stock-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:20px;padding:5px 10px;font-size:10px;font-weight:800;white-space:nowrap}
.stock-status-pill.low{background:#fff3d8;color:#946200}
.stock-status-pill.critical{background:#FDE8E8;color:#B42318}
.low-stock-footnote{padding:11px 20px;color:#7b8797;font-size:10px;background:#fbfcfe;border-top:1px solid #edf1f6}
@media(max-width:700px){.low-stock-heading{padding:17px 16px 13px}.low-stock-heading h3{font-size:16px}.home-low-stock-table thead th,.home-low-stock-table tbody td{padding:10px 11px}}

/* Out-of-stock status in Home model-wise stock alert */
.stock-status-pill.out{background:#FDE8E8;color:#B42318;border:1px solid #FECACA;font-weight:900}

/* Low Stock Alert: keep Product Name and Model firmly left-aligned */
.home-low-stock-table thead th:nth-child(1),
.home-low-stock-table thead th:nth-child(2),
.home-low-stock-table tbody td:nth-child(1),
.home-low-stock-table tbody td:nth-child(2) {
  text-align: left !important;
}
.home-low-stock-table tbody td.low-stock-product,
.home-low-stock-table tbody td.low-stock-model {
  text-align: left !important;
  padding-left: 18px;
}

/* Advanced stock management refinement */
.stock-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.stock-form > label { display:flex; flex-direction:column; gap:8px; min-width:0; }
.stock-form input, .stock-form select { width:100%; min-height:46px; border:1px solid #d8e0ea; border-radius:10px; padding:0 13px; background:#fff; color:#243447; font:inherit; }
.stock-form input:focus, .stock-form select:focus { outline:0; border-color:#245a91; box-shadow:0 0 0 3px rgba(36,90,145,.12); }
.stock-advanced-filters { display:flex; align-items:end; flex-wrap:wrap; gap:10px; }
.stock-date-filter { display:flex; flex-direction:column; gap:5px; color:#536579; font-size:11px; font-weight:700; }
.stock-date-filter input { min-height:40px; max-width:165px; border:1px solid #d8e0ea; border-radius:9px; padding:0 9px; background:#fff; color:#243447; }
.stock-list-card .portal-table-scroll { overflow-x:auto; }
.stock-list-card table { width:100%; min-width:920px; border-collapse:separate; border-spacing:0; }
.stock-list-card thead th { background:#e8eef6; color:#17365d; font-size:11px; font-weight:800; letter-spacing:.045em; text-align:left; padding:15px 14px; white-space:nowrap; border-bottom:1px solid #d7e0eb; }
.stock-list-card tbody td { padding:14px; color:#34465a; border-bottom:1px solid #edf1f5; vertical-align:middle; font-size:13px; }
.stock-list-card tbody tr:hover { background:#f8fafd; }
.stock-product-cell b { color:#17365d; font-weight:750; }
.stock-model-cell { min-width:230px; }
.stock-quantity-badge { display:inline-flex; min-width:36px; justify-content:center; padding:6px 10px; border-radius:999px; color:#17633d; background:#e7f5ed; font-weight:800; }
.stock-actions { white-space:nowrap; }
.stock-actions .table-action { margin-right:6px; }
.stock-table-foot { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:13px 16px; color:#66788b; font-size:12px; }
@media(max-width:760px) {
  .stock-form { grid-template-columns:minmax(0,1fr); }
  .stock-advanced-filters { align-items:stretch; flex-direction:column; }
  .stock-date-filter input { max-width:none; width:100%; }
  .stock-advanced-filters .stock-search-wrap { width:100%; }
  .stock-list-card .portal-table-heading { align-items:flex-start; flex-direction:column; }
}

/* Consistent table header visibility across dashboard, stock and invoice tables */
.portal-table-card table thead { display:table-header-group; }
.portal-table-card table thead th { background:#e8eef6; color:#17365d; font-weight:800; letter-spacing:.035em; text-align:left; white-space:nowrap; }
.portal-table-card table tbody td { vertical-align:middle; }

/* Reliable, visible stock form controls (desktop + mobile) */
#stockEditor .stock-form { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:end; }
#stockEditor .stock-form > label { display:flex !important; flex-direction:column; align-items:stretch; gap:7px; min-width:0; color:#536579; font-size:12px; font-weight:700; }
#stockEditor .stock-form select.stock-dropdown,
#stockEditor .stock-form input:not([type="hidden"]) {
  display:block !important; visibility:visible !important; opacity:1 !important;
  width:100% !important; min-width:0; height:46px; min-height:46px;
  padding:0 13px; border:1px solid #d8e0ea; border-radius:10px;
  background-color:#fff !important; color:#243447 !important;
  font-size:13px; line-height:normal; appearance:auto; -webkit-appearance:menulist;
}
#stockEditor .stock-form select.stock-dropdown:disabled { background:#f1f4f8 !important; color:#78879a !important; cursor:not-allowed; }
#stockEditor .stock-form select.stock-dropdown:focus,
#stockEditor .stock-form input:focus { outline:0; border-color:#245a91; box-shadow:0 0 0 3px rgba(36,90,145,.12); }
#stockEditor .stock-form .stock-field-help { color:#8390a0; font-size:10px; font-weight:500; }
#stockEditor .stock-form .portal-form-actions { grid-column:1/-1; display:flex; gap:10px; flex-wrap:wrap; }
.stock-list-card .portal-table-scroll { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.stock-list-card table { width:100%; min-width:980px; border-collapse:separate; border-spacing:0; }
.stock-list-card thead { display:table-header-group !important; }
.stock-list-card thead th { background:#e8eef6 !important; color:#17365d !important; text-align:left !important; font-size:11px; font-weight:800; padding:14px 13px; white-space:nowrap; }
.stock-list-card tbody td { padding:13px; border-bottom:1px solid #e9eef4; vertical-align:middle; }
.stock-advanced-filters { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.stock-date-filter { display:flex; flex-direction:column; gap:5px; color:#536579; font-size:11px; font-weight:700; }
.stock-date-filter input { min-height:42px; max-width:170px; border:1px solid #d8e0ea; border-radius:9px; padding:0 10px; background:#fff; color:#243447; }
@media(max-width:700px) {
  #stockEditor .stock-form { grid-template-columns:1fr !important; }
  #stockEditor .stock-form .portal-form-actions button { flex:1 1 140px; }
  .stock-advanced-filters { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .stock-advanced-filters .stock-search-wrap { grid-column:1/-1; }
  .stock-date-filter input { max-width:none; width:100%; }
  .stock-advanced-filters #clearStockFilters { grid-column:1/-1; }
}

/* Compact mandatory stock-entry form */
#stockEditor .stock-form { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#stockEditor .stock-form > label { display:flex !important; flex-direction:column; gap:7px; min-width:0; font-weight:700; color:#42546a; }
#stockEditor .stock-form select,
#stockEditor .stock-form input:not([type="hidden"]) {
  display:block !important; width:100% !important; min-width:0; min-height:46px;
  padding:10px 13px; border:1px solid #d7e0eb; border-radius:10px;
  background:#fff !important; color:#243447 !important; font-size:13px;
}
#stockEditor .stock-form select:disabled { background:#f0f3f7 !important; color:#78879a !important; }
#stockEditor .stock-form .required-mark { color:#c62828; font-weight:800; }
#stockEditor .stock-form .portal-form-actions { grid-column:1/-1; display:flex; gap:10px; }
.stock-list-card table { min-width:1100px; }
.stock-list-card thead th { background:#e8eef6; color:#17365d; font-weight:800; white-space:nowrap; }
@media(max-width:700px) {
  #stockEditor .stock-form { grid-template-columns:1fr !important; }
  #stockEditor .stock-form .portal-form-actions button { flex:1; }
}

/* Premium, simplified stock-to-invoice workflow */
.optional-mark{font-size:11px;color:#84909d;font-weight:500}
.invoice-quick-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.invoice-quick-form .invoice-product-field,.invoice-quick-form .receipt-preview-note,.invoice-quick-form .portal-form-actions{grid-column:1/-1}
.invoice-stock-preview{grid-column:1/-1;padding:15px 17px;border:1px solid #dfe8f1;border-radius:12px;background:linear-gradient(135deg,#f7faff,#eef4fb);color:#334155;font-size:13px;line-height:1.7}
.invoice-stock-preview b,.invoice-stock-preview span{display:block}
.invoice-stock-preview span{color:#64748b;margin-top:4px}
@media(max-width:640px){.invoice-quick-form{grid-template-columns:1fr}.invoice-quick-form .invoice-product-field,.invoice-quick-form .receipt-preview-note,.invoice-quick-form .portal-form-actions,.invoice-stock-preview{grid-column:1}}

/* Compact four-field stock entry */
.stock-four-field-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.stock-four-field-form .portal-form-actions{grid-column:1/-1;margin-top:4px}
.stock-four-field-form select,.stock-four-field-form input{min-height:48px}
@media(max-width:640px){.stock-four-field-form{grid-template-columns:1fr}.stock-four-field-form .portal-form-actions{grid-column:1}}

/* Invoice table action controls */
.invoice-row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.invoice-row-actions .table-action{min-width:62px}
.invoice-row-actions .table-action.danger{color:#b42318;border-color:#f0c7c4;background:#fff7f6}
.invoice-row-actions .table-action.danger:hover{background:#feeceb}

/* Center invoice table action buttons consistently */
#invoicePage .portal-table-scroll th:last-child{text-align:center!important}
#invoicePage .portal-table-scroll td.invoice-row-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center!important;
  white-space:nowrap;
  min-height:54px;
}
#invoicePage .portal-table-scroll td.invoice-row-actions .table-action{
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:66px;
  min-height:34px;
}

/* Stock inventory table aligned with Product / Variant / Chassis / Engine fields */
#stockPage .portal-table-scroll table{min-width:920px}
#stockPage .portal-table-scroll th,#stockPage .portal-table-scroll td{vertical-align:middle}
#stockPage .portal-table-scroll th:nth-child(3),
#stockPage .portal-table-scroll th:nth-child(4),
#stockPage .portal-table-scroll td:nth-child(3),
#stockPage .portal-table-scroll td:nth-child(4){white-space:nowrap}
#stockPage .portal-table-scroll th:last-child,
#stockPage .portal-table-scroll td.stock-actions{text-align:center!important}
#stockPage .portal-table-scroll td.stock-actions{white-space:nowrap}

/* Center stock table chassis, engine, quantity, received date and action columns */
#stockPage .portal-table-scroll th:nth-child(n+3),
#stockPage .portal-table-scroll td:nth-child(n+3) {
  text-align: center !important;
  vertical-align: middle;
}
#stockPage .portal-table-scroll td:nth-child(3),
#stockPage .portal-table-scroll td:nth-child(4),
#stockPage .portal-table-scroll td:nth-child(5),
#stockPage .portal-table-scroll td:nth-child(6) {
  white-space: nowrap;
}
#stockPage .portal-table-scroll td.stock-actions {
  display: table-cell;
  text-align: center !important;
}
#stockPage .portal-table-scroll td.stock-actions .table-action {
  margin: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Clean essential invoice form */
.invoice-essentials-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.invoice-essentials-form .invoice-address-field,
.invoice-essentials-form .invoice-model-field,
.invoice-essentials-form .receipt-preview-note,
.invoice-essentials-form .portal-form-actions{grid-column:1/-1}
.invoice-essentials-form textarea{width:100%;min-height:76px;resize:vertical}
.invoice-essentials-form input[readonly]{background:#f3f6fa;color:#536274;cursor:not-allowed}
@media(max-width:640px){
 .invoice-essentials-form{grid-template-columns:1fr;gap:14px}
 .invoice-essentials-form .invoice-address-field,
 .invoice-essentials-form .invoice-model-field,
 .invoice-essentials-form .receipt-preview-note,
 .invoice-essentials-form .portal-form-actions{grid-column:1}
}

/* Logout button – clear red danger styling */
.portal-logout,
.portal-logout:hover,
.portal-logout:focus-visible {
  background: #D92D20 !important;
  color: #FFFFFF !important;
  border: 1px solid #D92D20 !important;
  border-radius: 9px;
}
.portal-logout:hover {
  background: #B42318 !important;
  border-color: #B42318 !important;
}
.portal-logout span { color: #FFFFFF !important; }
html,
body {
  overscroll-behavior: none !important;
  overscroll-behavior-x: none !important;
  overscroll-behavior-y: none !important;
  scroll-behavior: auto !important;
}
body {
  overscroll-behavior: none !important;
}
.app-shell,
.portal-main,
.portal-page,
.portal-table-scroll,
.portal-sidebar,
.sidebar,
.modal,
.modal-content,
.dropdown-menu {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: auto;
}
* {
  scroll-behavior: auto !important;
}

/* Premium centered confirmation dialogs for delete and logout */
.sud-confirm-overlay{
  position:fixed;inset:0;z-index:100000;
  display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(13,25,42,.48);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;
}
.sud-confirm-overlay.visible{opacity:1;visibility:visible}
.sud-confirm-dialog{
  width:min(100%,430px);background:#fff;border:1px solid rgba(255,255,255,.75);
  border-radius:22px;padding:30px 28px 24px;text-align:center;
  box-shadow:0 24px 80px rgba(9,26,48,.28);
  transform:translateY(12px) scale(.97);transition:transform .2s ease;
}
.sud-confirm-overlay.visible .sud-confirm-dialog{transform:translateY(0) scale(1)}
.sud-confirm-symbol{
  width:54px;height:54px;border-radius:17px;display:grid;place-items:center;
  margin:0 auto 16px;font:800 25px Manrope,Arial,sans-serif;
}
.sud-confirm-symbol.danger{background:#fff0ef;color:#d92d20;border:1px solid #ffdbd7}
.sud-confirm-symbol.neutral{background:#eef4fb;color:#245a91}
.sud-confirm-dialog h2{margin:0;color:#182b40;font:800 20px Manrope,Arial,sans-serif;letter-spacing:-.35px}
.sud-confirm-message{margin:10px auto 23px;max-width:340px;color:#68788a;font:500 13px/1.65 Manrope,Arial,sans-serif}
.sud-confirm-actions{display:flex;justify-content:center;gap:11px}
.sud-confirm-actions button{
  min-width:118px;min-height:43px;padding:0 18px;border-radius:11px;
  font:700 12px Manrope,Arial,sans-serif;cursor:pointer;transition:.16s ease;
}
.sud-confirm-cancel{background:#f5f7fa;color:#405166;border:1px solid #e3e9f0}
.sud-confirm-cancel:hover{background:#eaf0f6}
.sud-confirm-accept{background:#245a91;color:#fff;border:1px solid #245a91}
.sud-confirm-accept.danger{background:#d92d20;border-color:#d92d20;color:#fff}
.sud-confirm-accept.danger:hover{background:#b42318;border-color:#b42318}
.sud-confirm-actions button:focus-visible{outline:3px solid rgba(36,90,145,.22);outline-offset:2px}
@media(max-width:480px){
 .sud-confirm-dialog{padding:25px 19px 20px;border-radius:19px}
 .sud-confirm-dialog h2{font-size:18px}
 .sud-confirm-actions button{min-width:0;flex:1}
}

/* Premium KPI cards – clear hierarchy, depth and responsive interaction */
.portal-kpis{gap:16px}
.portal-kpi{
  min-height:166px;padding:19px 20px;border:1px solid #e7edf3;border-radius:18px;
  background:linear-gradient(145deg,#fff 0%,#fbfcfe 100%);
  box-shadow:0 5px 18px rgba(21,43,68,.055),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.portal-kpi:hover{transform:translateY(-3px);border-color:#d5e0ec;box-shadow:0 13px 28px rgba(21,43,68,.10)}
.portal-kpi:after{
  width:116px;height:116px;right:-45px;top:42px;
  border-color:rgba(36,90,145,.07);box-shadow:0 0 0 15px rgba(36,90,145,.025);
}
.kpi-top{margin-bottom:17px;color:#8795a5;font-size:9px;letter-spacing:1.15px}
.kpi-icon{width:39px;height:39px;border-radius:12px;font-size:18px}
.kpi-icon.green{background:linear-gradient(135deg,#e7f7ef,#d9f0e4);color:#168052}
.kpi-icon.blue{background:linear-gradient(135deg,#edf4ff,#dfeaff);color:#2865b0}
.kpi-icon.amber{background:linear-gradient(135deg,#fff6e7,#ffedcf);color:#b7791f}
.kpi-icon.violet{background:linear-gradient(135deg,#f4efff,#e9e0ff);color:#7654b5}
.portal-kpi strong{font-size:32px;line-height:1.15;color:#172b43;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.portal-kpi small{display:block;margin-top:7px;color:#8290a0;font-size:10px;line-height:1.5}
.portal-sales-card,.portal-shortcuts,.portal-table-card{
  border-color:#e7edf3;border-radius:18px;box-shadow:0 5px 18px rgba(21,43,68,.055)
}
@media(max-width:900px){.portal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){
 .portal-kpis{gap:10px}
 .portal-kpi{min-height:142px;padding:14px;border-radius:15px}
 .kpi-top{font-size:8px;margin-bottom:12px}
 .kpi-icon{width:34px;height:34px}
 .portal-kpi strong{font-size:26px}
 .portal-kpi small{font-size:9px}
}
