
.bttn {
  border: none;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  transition-duration: 0.4s;
  cursor: pointer;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 30px;
  padding-right: 30px;
  border-radius: 7px;
}



.bttn-r {
  background-color: var(--bc-r0);
  color: white;
}

.bttn-n {
  background-color: var(--bc-n5);
  color: var(--bc-n0);
}

.bttn-r:hover,
.bttn-n:hover {
  opacity: 0.8;
}


/* --------------a-------------------- */

.center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.center-j {
  display: flex;
  justify-content: center;
}

.center-a {
  display: flex;
  align-items: center;

}
/* --------------float-div------------ */
.fr {float: right;} .fl {float: left;} .left {display: flex; justify-content:start; left: 0%;} .right {display: flex; justify-content: end; right: 0%;}

.deco-non {
  text-decoration: none;
}

.list-non {
  list-style: none;
}

/* ---------------------border-curve---------------------- */
.br-3 {
  border-radius: 3px;
}

.br-5 {
  border-radius: 5px;
}

.br-7 {
  border-radius: 7px;
}

.br-10 {
  border-radius: 10px;
}

.br-15 {
  border-radius: 15px;
}

.br-20 {
  border-radius: 20px;
}

.br-20-up {
  border-start-start-radius: 20px;
}

.br-25 {
  border-radius: 25px;
}

.br-30 {
  border-radius: 30px;
}

.br-35 {
  border-radius: 35px;
}

.br-40 {
  border-radius: 40px;
}

.br-45 {
  border-radius: 45px;
}

.br-50 {
  border-radius: 50%;
}

.br-top-5 {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.br-top-10 {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}


/* ----------------font-size------------------- */

.fs2 {
  font-size: 2px;
}

.fs4 {
  font-size: 4px;
}

.fs6 {
  font-size: 6px;
}

.fs8 {
  font-size: 8px;
}

.fs10 {
  font-size: 10px;
}

.fs12 {
  font-size: 12px;
}

.fs13 {
  font-size: 13px;
}

.fs14,
.fsx1 {
  font-size: 14px;
}

.fs15,
.fsx2 {
  font-size: 15px;
}

.fs16,
.fsx3 {
  font-size: 16px;
}

.fs18,
.fsx4 {
  font-size: 18px;
}

.fs20 {
  font-size: 20px;
}

.fs22 {
  font-size: 22px;
}

.fs24 {
  font-size: 24px;
}

.fs26 {
  font-size: 26px;
}

.fs28 {
  font-size: 28px;
}

.fs30 {
  font-size: 30px;
}

.fs32 {
  font-size: 32px;
}

.fs34 {
  font-size: 34px;
}

.fs36 {
  font-size: 36px;
}

.fs38 {
  font-size: 38px;
}

.fs40 {
  font-size: 40px;
}

.fs42 {
  font-size: 42px;
}


/* --------------font-weight----------------- */

.fw100 {
  font-weight: 100;
}

.fw200 {
  font-weight: 200;
}

.fw300 {
  font-weight: 300;
}

.fw400 {
  font-weight: 400;
}

.fw450 {
  font-weight: 450;
}

.fw500 {
  font-weight: 500;
}

.fw550 {
  font-weight: 550;
}

.fw600 {
  font-weight: 600;
}

.fw650 {
  font-weight: 650;
}
/* ---------------- Machine Portal shared UI ---------------- */
.portal-table-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1rem}
.portal-table thead th{font-size:14px;font-weight:600;white-space:nowrap;vertical-align:middle}
.portal-table tbody td{font-size:15px;vertical-align:middle}
.portal-card-link{border:1px solid #e9ecef;transition:border-color .15s ease,transform .15s ease}
.portal-card-link:hover{border-color:var(--bc-b4);transform:translateY(-1px)}
.portal-stat-card{border:1px solid #e9ecef;border-radius:10px;padding:1rem;height:100%;background:#fff}
.portal-offcanvas-wide{width:min(900px,100vw)!important}
.badge-fixed{display:inline-block;width:75px;text-align:center}
.portal-product-link{color:var(--bc-b0)}
.portal-product-link:hover{color:var(--bc-b3)}
.portal-search-results{max-height:320px;overflow-y:auto}
.htmx-indicator{display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inline-block}
@media(max-width:575.98px){.portal-table-card{padding:.75rem}.portal-stat-card{padding:.75rem}.portal-offcanvas-wide{width:100vw!important}}

/* ---------------- Machine Portal content scale ---------------- */
.portal-page{width:100%;max-width:1520px;margin:0 auto;font-size:16px;line-height:1.55}
.portal-page h1,.portal-page-title{font-size:clamp(2rem,2.2vw,2.5rem);line-height:1.2;font-weight:700}
.portal-page h2,.portal-section-title{font-size:1.55rem;line-height:1.3;font-weight:600}
.portal-page h3{font-size:1.3rem;line-height:1.35;font-weight:600}
.portal-page h4{font-size:1.15rem;line-height:1.4;font-weight:600}
.portal-page h5{font-size:1.05rem;line-height:1.4;font-weight:600}
.portal-subtitle{font-size:1.1rem;line-height:1.45;font-weight:600}
.portal-content{font-size:1rem;line-height:1.55;font-weight:400}
.portal-description{font-size:.875rem;line-height:1.5;font-weight:400}
.portal-page .form-label{font-size:.95rem;font-weight:600}
.portal-page .table{font-size:.95rem}
.portal-page .small{font-size:.85rem}
@media(max-width:767.98px){.portal-page{font-size:15px}.portal-page h1,.portal-page-title{font-size:1.85rem}.portal-page h2,.portal-section-title{font-size:1.35rem}.portal-page h3{font-size:1.2rem}}

/* ---------------- Machine Portal dashboard/report refinements ---------------- */
.portal-name-button{max-width:100%;text-align:left;font-weight:600;color:var(--bc-b0);background:#fff;border:1px solid #cfd8e1;border-radius:7px;padding:.35rem .65rem;white-space:normal}
.portal-name-button:hover,.portal-name-button:focus{color:var(--bc-b0);background:#f3f7fa;border-color:var(--bc-b4)}
.sales-action-cell{width:150px;min-width:150px;text-align:center}
.sales-action-group{display:grid;grid-template-columns:92px 36px;gap:6px;justify-content:center;align-items:center;min-width:134px}
.sales-manage-btn{width:92px}.sales-edit-btn{width:36px;padding-left:0;padding-right:0}
.report-section-card{background:#fff;border:1px solid #e2e8ee;border-radius:14px;overflow:hidden}
.report-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #e2e8ee}
.report-section-title{font-size:1.05rem;font-weight:700}
.report-section-sales .report-section-head{background:#eef5fb;border-bottom-color:#d7e6f2}
.report-section-margin .report-section-head{background:#fff6ea;border-bottom-color:#f1dfc5}
.report-section-purchase .report-section-head{background:#eef8f2;border-bottom-color:#d6eadc}
.dashboard-kpi{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e2e8ee;border-radius:14px;padding:1rem 1.1rem}
.dashboard-kpi-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex:0 0 44px;border-radius:12px;background:#eef4f9;color:var(--bc-b0);font-size:1.2rem}
.dashboard-kpi-label{font-size:.88rem;font-weight:600;color:#6c757d}.dashboard-kpi-value{font-size:1.65rem;line-height:1.2;font-weight:700;margin:.1rem 0}
.dashboard-panel{background:#fff;border:1px solid #e2e8ee;border-radius:14px;padding:1rem 1.1rem}
.dashboard-panel-sales{border-top:3px solid #347CB7}.dashboard-panel-purchase{border-top:3px solid #4f9b68}
.dashboard-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid #edf0f2}.dashboard-panel-title{font-size:1.05rem;font-weight:700}
.dashboard-metric{padding:.85rem;border-radius:10px;background:#f8f9fa;height:100%}.dashboard-metric span{display:block;font-size:.82rem;color:#6c757d;margin-bottom:.25rem}.dashboard-metric strong{font-size:1.2rem}
.dashboard-status-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid #f0f1f2}.dashboard-status-list>div:last-child{border-bottom:0}.dashboard-status-list strong{font-size:1rem}
.dashboard-activity-row{display:flex;align-items:center;gap:.8rem;padding:.75rem 0;border-bottom:1px solid #f0f1f2}.dashboard-activity-row:last-child{border-bottom:0}.dashboard-activity-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex:0 0 32px;border-radius:50%;background:#eef4f9;color:var(--bc-b0)}
.dashboard-quick-actions .btn{padding:.65rem .8rem}
@media(max-width:767.98px){.report-section-head,.dashboard-panel-head{align-items:flex-start;flex-direction:column}.sales-action-cell{width:140px;min-width:140px}.dashboard-kpi{padding:.85rem}.dashboard-kpi-value{font-size:1.4rem}}
