/* V38.30 Universal Set Builder and professional interface polish */
:root{
 --erp-bg:#f5f7fb;--erp-surface:#fff;--erp-surface-soft:#f8fafc;--erp-border:#d9e1eb;
 --erp-border-strong:#c5d0de;--erp-text:#182235;--erp-muted:#667085;--erp-blue:#245789;
 --erp-blue-dark:#173f68;--erp-gold:#ae7c21;--erp-success:#147847;--erp-danger:#b42318;
 --erp-shadow:0 8px 26px rgba(28,46,75,.08);--erp-radius:12px
}
body{background:var(--erp-bg);color:var(--erp-text)}
.page>h1{letter-spacing:-.02em;color:#16243a;margin-bottom:16px}
.panel,.form-section,.security-center,.professional-setting-card{border-color:var(--erp-border);border-radius:var(--erp-radius);box-shadow:0 4px 14px rgba(28,46,75,.045)}
button{min-height:36px;border-radius:8px;font-weight:650;letter-spacing:.005em;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}
button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px rgba(28,46,75,.10)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(36,87,137,.20);outline-offset:1px}
input,select,textarea{border-color:var(--erp-border-strong);border-radius:8px;background:#fff;min-height:38px}
.toolbar{gap:8px;flex-wrap:wrap}
.action-bar{gap:6px;flex-wrap:wrap}
.table-wrap,.bw-table-wrap,.pl-queue-wrap{scrollbar-gutter:stable both-edges}
table{border-collapse:separate;border-spacing:0}
thead th{background:#f7f9fc;color:#43536a;font-size:12px;letter-spacing:.035em;border-bottom:1px solid var(--erp-border-strong)}
tbody tr:hover{background:#f8fbff}
.modalbox{border-radius:15px;box-shadow:0 28px 80px rgba(18,35,58,.23)}
.v3829-setup-modal{width:min(1480px,97vw)!important;max-width:none!important;height:min(930px,96vh)!important;padding:0!important;overflow:hidden!important}
.v3829-setup-modal #modalTitle{padding:17px 22px;margin:0;border-bottom:1px solid var(--erp-border);background:#fff}
.v3829-setup-modal #modalBody{height:calc(100% - 58px);padding:0;overflow:hidden}
.v3829-setup-shell{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#f5f7fb}
.v3829-setup-content{overflow:auto;padding:18px 20px 28px;scrollbar-gutter:stable}
.v3829-setup-footer{box-shadow:0 -8px 20px rgba(27,46,74,.06);z-index:5}
.v3829-tabs{overflow-x:auto;scrollbar-width:thin;padding-inline:14px;background:#fff}
.v3829-tabs button{white-space:nowrap}
.v3830-set-builder{display:grid;gap:16px;max-width:1380px;margin:0 auto}
.v3830-hero-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;border-radius:15px;background:linear-gradient(135deg,#163e67,#2b679e);color:#fff;box-shadow:var(--erp-shadow)}
.v3830-hero-card h3{font-size:24px;margin:4px 0 6px;color:#fff}.v3830-hero-card p{margin:0;color:#e5eef8;max-width:880px}
.v3830-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.13em;color:#c9def1}
.v3830-count{min-width:132px;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:13px;padding:14px}.v3830-count b{display:block;font-size:32px;line-height:1}.v3830-count span{font-size:12px;color:#eaf2fa}
.v3830-definition-grid{display:grid;grid-template-columns:minmax(230px,1.25fr) minmax(220px,1fr) minmax(160px,.7fr) minmax(230px,1.1fr) auto;gap:12px;align-items:end}
.v3830-template-actions{display:flex;gap:7px;align-items:flex-end;padding-bottom:1px}
.v3830-switch-row,.v3830-check-row{display:flex;gap:18px;flex-wrap:wrap;padding:13px 15px;border:1px solid var(--erp-border);background:#f8fafc;border-radius:10px;margin-top:13px}.v3830-switch-row label,.v3830-check-row label{display:flex;gap:7px;align-items:center;font-size:13px;font-weight:650}.v3830-switch-row input,.v3830-check-row input{min-height:auto}
.v3830-groups,.v3830-parts{display:grid;gap:10px}
.v3830-group-card{display:grid;grid-template-columns:40px minmax(180px,1.2fr) minmax(160px,1fr) 90px 90px auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--erp-border);border-radius:11px;background:#fff}
.v3830-group-number,.v3830-part-number{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e8f1f9;color:var(--erp-blue-dark);font-weight:800;align-self:center}
.v3830-part-card{border:1px solid var(--erp-border);border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(28,46,75,.035);overflow:hidden}
.v3830-part-head{display:grid;grid-template-columns:38px minmax(155px,.8fr) minmax(150px,.8fr) minmax(230px,1.35fr) auto;gap:10px;align-items:end;padding:13px 14px;background:#f8fafc;border-bottom:1px solid var(--erp-border)}
.v3830-part-body{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) 90px 90px 90px minmax(260px,1.5fr);gap:10px;padding:13px 14px}
.v3830-part-actions{display:flex;gap:5px;align-items:flex-end}.v3830-part-actions button{min-width:38px;padding-inline:9px}
.v3830-check-row{border:0;border-top:1px solid var(--erp-border);border-radius:0;margin:0;padding:11px 14px;background:#fff}
.v3830-linked{min-height:38px;border:1px solid var(--erp-border-strong);border-radius:8px;display:flex;align-items:center;gap:6px;padding:4px 5px 4px 10px;background:#fff}.v3830-linked span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475467}.v3830-linked button{min-height:29px;font-size:12px;padding:4px 8px}
.v3830-footnote{padding:14px 16px;background:#eef6ff;border:1px solid #cfe0f2;border-radius:10px;color:#36516e}
.v3830-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v3830-help-grid article{border:1px solid var(--erp-border);padding:14px;border-radius:10px;background:#fafcff}.v3830-help-grid p{color:var(--erp-muted);margin:4px 0 0}
.v3830-link-picker{display:grid;gap:12px}.v3830-link-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:58vh;overflow:auto}.v3830-link-results button{display:grid;grid-template-columns:110px 1fr 1.4fr auto;gap:8px;text-align:left;align-items:center;padding:10px 12px;background:#fff;border:1px solid var(--erp-border)}.v3830-link-results button:hover{border-color:#7aa3c8;background:#f4f9fe}.v3830-link-results small{color:var(--erp-blue);font-weight:700}
.v3830-line-set{margin:14px 0;border:1px solid #bfd2e5;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 4px 14px rgba(25,65,103,.06)}
.v3830-line-set-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;background:linear-gradient(135deg,#eef6fd,#f9fbfe);border-bottom:1px solid #d6e3ef}.v3830-line-set-head h3{margin:3px 0}.v3830-line-set-head p{margin:0;color:var(--erp-muted)}
.v3830-line-count{text-align:center;min-width:110px;border-left:1px solid #d5e2ee;padding-left:16px}.v3830-line-count b{display:block;font-size:26px;color:var(--erp-blue)}.v3830-line-count span{font-size:11px;color:var(--erp-muted)}
.v3830-line-tools{display:flex;gap:7px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--erp-border)}
.v3830-line-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 14px;max-height:360px;overflow:auto;scrollbar-gutter:stable}
.v3830-line-part{display:grid;grid-template-columns:auto 1fr 92px;gap:9px;align-items:center;border:1px solid var(--erp-border);border-radius:10px;padding:9px 10px;background:#fff;cursor:pointer}.v3830-line-part:hover{border-color:#94b3cf;background:#f9fcff}.v3830-line-part.required{border-left:4px solid #2d6596}.v3830-line-part>input{min-height:auto}.v3830-line-part-name{display:flex;flex-direction:column;min-width:0}.v3830-line-part-name b,.v3830-line-part-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3830-line-part-name small{color:var(--erp-muted)}.v3830-line-qty input{width:80px;min-height:32px}.v3830-line-qty small{display:block;color:var(--erp-muted)}
.v3830-line-rules{padding:10px 14px;border-top:1px solid var(--erp-border);font-weight:700}.v3830-line-rules .success{color:var(--erp-success)}.v3830-line-rules .error{color:var(--erp-danger)}.v3830-hidden-legacy-set{display:none!important}
.danger.ghost{color:var(--erp-danger)!important;background:#fff!important;border-color:#f0b6b2!important}.danger.ghost:hover{background:#fff1f0!important;border-color:#e17870!important}
.v3830-professional-note{padding:12px;border:1px solid var(--erp-border);border-radius:9px;background:#f8fafc;color:var(--erp-muted)}
@media(max-width:1250px){.v3830-definition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v3830-template-actions{grid-column:span 2}.v3830-part-head{grid-template-columns:38px 1fr 1fr 1.3fr}.v3830-part-actions{grid-column:2/-1}.v3830-part-body{grid-template-columns:repeat(4,minmax(120px,1fr))}.v3830-part-body .grow{grid-column:span 2}}
@media(max-width:900px){.v3830-hero-card{align-items:flex-start}.v3830-definition-grid{grid-template-columns:1fr 1fr}.v3830-template-actions{grid-column:1/-1}.v3830-group-card{grid-template-columns:36px 1fr 1fr}.v3830-group-card .compact{grid-column:auto}.v3830-group-card button{grid-column:3}.v3830-part-head{grid-template-columns:36px 1fr}.v3830-part-head>.field:nth-of-type(3){grid-column:2}.v3830-part-actions{grid-column:2}.v3830-part-body{grid-template-columns:1fr 1fr}.v3830-part-body .grow{grid-column:1/-1}.v3830-line-parts{grid-template-columns:1fr}.v3830-link-results{grid-template-columns:1fr}}
@media(max-width:640px){.v3829-setup-modal{width:100vw!important;height:100vh!important;border-radius:0!important}.v3830-hero-card{flex-direction:column;padding:18px}.v3830-count{width:100%}.v3830-definition-grid{grid-template-columns:1fr}.v3830-template-actions{grid-column:auto;flex-direction:column;align-items:stretch}.v3830-group-card{grid-template-columns:34px 1fr}.v3830-group-card>*{grid-column:2}.v3830-group-number{grid-column:1;grid-row:1/3}.v3830-part-head{grid-template-columns:34px 1fr}.v3830-part-body{grid-template-columns:1fr}.v3830-part-body .grow{grid-column:auto}.v3830-check-row,.v3830-switch-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v3830-line-set-head{align-items:flex-start}.v3830-line-count{min-width:82px}.v3830-line-part{grid-template-columns:auto 1fr}.v3830-line-qty{grid-column:2}.v3830-link-results button{grid-template-columns:1fr}.v3830-help-grid{grid-template-columns:1fr}}
.v3830-product-setup-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:12px 14px;border:1px solid #cfe0f2;border-radius:10px;background:#f4f9fe}.v3830-product-setup-summary>div{display:flex;flex-direction:column;gap:2px}.v3830-product-setup-summary span{color:var(--erp-muted);font-size:13px}

/* V38.30 modal stacking and mobile polish: dialogs must cover the sticky ERP header. */
.modal{z-index:90000!important}
.toast-stack{z-index:110000!important}
body:has(.modal:not(.hidden)){overflow:hidden}
.modalhead{gap:12px}
.modalhead h2{min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.2}
.modalhead>button{flex:0 0 auto}
.v3829-setup-summary{min-width:0}
.v3829-setup-summary h3,.v3829-setup-summary p{overflow-wrap:anywhere}
@media(max-width:640px){
 .v3829-setup-modal #modalTitle{padding:14px 52px 14px 16px;font-size:21px}
 .v3829-setup-modal .modalhead{position:relative}
 .v3829-setup-modal .modalhead>button{position:absolute;right:10px;top:9px}
 .v3829-setup-content{padding:14px 12px 24px}
 .v3829-setup-footer{padding:10px 12px;gap:8px;align-items:stretch}
 .v3829-setup-footer>div{display:grid;grid-template-columns:1fr;gap:7px;width:100%}
 .v3829-setup-footer button{width:100%}
}
