/* Shared numeric input: the existing field supplies its themed border/surface. */
.nb-number-control{position:relative;display:inline-flex;align-items:stretch;box-sizing:border-box;min-width:80px;max-width:100%;width:100%;vertical-align:middle;isolation:isolate}
.nb-number-control>input[type="number"]{box-sizing:border-box;min-width:0;width:100%!important;padding-inline:27px!important;text-align:center;appearance:textfield;-moz-appearance:textfield}
.nb-number-control>input[type="number"]::-webkit-inner-spin-button,.nb-number-control>input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.nb-number-control>.nb-number-step{position:absolute;top:1px;bottom:1px;z-index:1;display:grid;place-items:center;width:25px;min-width:0;height:auto;min-height:0;margin:0;padding:0;border:0;border-radius:5px;background:transparent;color:var(--ds-text,var(--master-shell-text,#292932));font:500 20px/1 var(--nb-font-sans, sans-serif);box-shadow:none;cursor:pointer;touch-action:manipulation}
.nb-number-control>.nb-number-step:first-child{left:1px}.nb-number-control>.nb-number-step:last-child{right:1px}
.nb-number-control>.nb-number-step:hover:not(:disabled){background:var(--master-shell-hover,rgba(127,127,127,.12))}
.nb-number-control>.nb-number-step:focus-visible{outline:2px solid var(--master-accent,#ff5100);outline-offset:-2px}
.nb-number-control>.nb-number-step:disabled{opacity:.3;cursor:default}
.nb-number-control:has(>input:disabled),.nb-number-control:has(>input[readonly]){opacity:.65}
.canvas-node .nb-number-control>input.inline-number-value{padding-inline:27px!important}
.nb-number-control>input[type="number"]{flex:1 1 auto!important}
/* Compact colour popups keep colour channels readable; opacity gets its own row. */
.color-picker-formats:has(>.nb-number-control){grid-template-columns:50px minmax(0,1fr)!important}
.color-picker-formats:has(>.nb-number-control)>.color-picker-value-divider{display:none}
.color-picker-formats>.nb-number-control{grid-column:2;grid-row:2;justify-self:end;width:80px!important}
.color-picker-formats:has(>.nb-number-control)::after{content:"Opacity";grid-column:1;grid-row:2;align-self:center;color:inherit;font:400 10px/16px var(--nb-font-sans,sans-serif)}
.canvas-typography-grid.is-weight-size:has(.nb-number-control){grid-template-columns:minmax(0,1fr) 80px}
