/* Третий генератор NWA (рабочее имя gen3), 18.09.2026. Копия nwa-rect.css
   («Контур детали») с префиксом nwa-fc вместо nwa-rc — так велит README
   генераторов (§7): единый вид у всех программ, оформление копируется с
   «Контура», а не пишется заново.

   Страница выводится в обвязке магазина — с той же панелью и подвалом, что на
   «Услугах». Правила отдельной страницы (.nwa-fc-body, .nwa-fc-top, .nwa-fc-main,
   .nwa-fc-foot) нужны локальному стенду dev/facade-dev.php — он собирает
   эту оболочку сам, на сайте они не используются. Не удалять.

   Все цвета — в переменных ниже; селектор двойной, потому что на отдельной
   странице шапка и подвал лежат вне блока .nwa-fc, а сам блок должен пережить
   вставку в чужую страницу без класса на body. */
.nwa-fc-body,
.nwa-fc{
	--rc-page:#F4F5F7;          /* фон страницы за панелями */
	--rc-bg:#FFFFFF;            /* фон блока инструмента */
	--rc-panel:#FFFFFF;         /* карточки настроек и метрик */
	--rc-head:#FFFFFF;          /* шапка страницы и блока, подвал */
	--rc-input:#FFFFFF;         /* поля ввода и вторичные кнопки */
	--rc-hover:#F4F5F7;         /* подсветка при наведении */
	--rc-border:#D9D9D9;
	--rc-border-strong:#BFBFBF;
	--rc-text:#242424;
	--rc-dim:#6B6B6B;
	--rc-orange:#BD420E;        /* заливки, рамки, активные состояния */
	--rc-orange-hover:#BD420E;
	/* Оранжевый для текста — темнее заливочного: светлый акцент на белом
	   фоне читается плохо, а надписи должны оставаться разборчивыми. */
	--rc-orange-text:#BD420E;
	--rc-orange-soft:#F4F5F7;
	/* Палитра интерфейса по решению владельца 24.10.2026: белый,
	   светло-серый и оранжевый; текст и рамки нейтральных серых тонов.
	   Старые имена blue/danger сохранены как совместимые акцентные токены. */
	--rc-neutral-soft:#F4F5F7;
	--rc-blue:#BD420E;
	--rc-danger:#BD420E;
	/* Область предпросмотра намеренно остаётся тёмной: это вид сверху, и
	   цвета в nwa-facade.js подобраны под тёмный фон. */
	--rc-stage:#151515;
}

/* ── Защита от стилей магазина ─────────────────────────────────
   Блок выводится в обвязке страницы, и на голые теги внутри него ложатся
   правила bootstrap и темы: у h2 свои размеры и отступы, у label —
   display:inline-block и margin-bottom, у p — нижний отступ. Здесь они
   возвращаются к умолчаниям браузера, как на самостоятельной странице.

   Те же два принципа, что у «Жертвы»: значение revert вместо списка чисел, и
   :where() в селекторах — он не добавляет специфичности, поэтому собственные
   правила инструмента вида .nwa-fc__card-title побеждают. Блок стоит ВЫШЕ
   компонентов и подстилает под них, переносить его в конец файла — сломать
   вид страницы. */
.nwa-fc :where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl,figure,fieldset,legend,blockquote){
	margin:revert;
	padding:revert;
	font:revert;
	color:revert;
	text-transform:revert;
	letter-spacing:revert;
}
.nwa-fc :where(label){
	display:revert;
	max-width:revert;
	margin:revert;
	font-weight:revert;
}
.nwa-fc :where(input,select,textarea,button){
	margin:revert;
	font:revert;
	line-height:revert;
	text-transform:revert;
	letter-spacing:revert;
	box-shadow:revert;
}
/* Ссылки: у .nwa-fc__btn цвет уже стоит с !important — автор закладывал
   вставку в чужую страницу. Прочим ссылкам возвращается оранжевый акцент
   инструмента, иначе тема красит их своим бежевым var(--nwa-accent). */
.nwa-fc :where(a){
	color:var(--rc-orange-text);
	text-decoration:none;
}

/* ── Каркас отдельной страницы ─────────────────────────────────
   Используется только локальным стендом dev/rect-dev.php (см. выше). */
.nwa-fc-body{
	margin:0;
	padding:0;
	min-height:100vh;
	display:flex;
	flex-direction:column;
	background:var(--rc-page);
	color:var(--rc-text);
	font-family:'Montserrat','Segoe UI',Arial,sans-serif;
	-webkit-font-smoothing:antialiased;
}
.nwa-fc-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	flex-wrap:wrap;
	padding:14px 24px;
	background:var(--rc-head);
	border-bottom:1px solid var(--rc-border);
}
.nwa-fc-top__logo{
	display:block;
	line-height:0;
}
.nwa-fc-top__logo img{
	display:block;
	height:52px;
	width:auto;
}
.nwa-fc-top__nav{
	display:flex;
	gap:22px;
	flex-wrap:wrap;
}
.nwa-fc-top__nav span{
	color:var(--rc-dim);
	font-size:14px;
	font-weight:500;
}
.nwa-fc-main{
	flex:1 1 auto;
	width:100%;
	max-width:1560px;
	margin:0 auto;
	padding:22px;
	box-sizing:border-box;
}
.nwa-fc-foot{
	padding:16px 24px;
	border-top:1px solid var(--rc-border);
	background:var(--rc-head);
	color:var(--rc-dim);
	font-size:12px;
	text-align:center;
}

.nwa-fc{
	margin:0 0 28px;
	padding:0;
	border:1px solid var(--rc-border);
	border-radius:14px;
	background:var(--rc-bg);
	color:var(--rc-text);
	font-family:'Montserrat','Segoe UI',Arial,sans-serif;
	overflow:hidden;
	box-shadow:0 10px 30px rgba(27,27,27,.07);
}
.nwa-fc *{box-sizing:border-box}

/* ── Шапка ─────────────────────────────────────────────────────── */
.nwa-fc__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:18px 22px;
	background:var(--rc-head);
	border-bottom:1px solid var(--rc-border);
}
.nwa-fc__title{
	font-size:22px;
	font-weight:700;
	color:var(--rc-text);
	line-height:1.2;
}
.nwa-fc__sub{
	margin-top:3px;
	font-size:13px;
	color:var(--rc-dim);
}
.nwa-fc__badge{
	flex:0 0 auto;
	padding:6px 12px;
	border:1px solid var(--rc-orange);
	border-radius:999px;
	background:var(--rc-neutral-soft);
	font-size:12px;
	font-weight:600;
	letter-spacing:.04em;
	color:var(--rc-orange-text);
	white-space:nowrap;
}

/* ── Раскладка ─────────────────────────────────────────────────── */
.nwa-fc__layout{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	gap:0;
	align-items:start;
}
.nwa-fc__panel{
	padding:14px;
	border-right:1px solid var(--rc-border);
	display:none;
	flex-direction:column;
	gap:9px;
	min-width:0;
}

/* ── Карточки настроек ─────────────────────────────────────────── */
/* Карточек девять, и в полный рост панель уезжала далеко за экран:
   отступы и строки сжаты, а каждую карточку можно свернуть. */
.nwa-fc__card{
	padding:9px 12px 11px;
	border:1px solid var(--rc-border);
	border-radius:10px;
	background:var(--rc-panel);
}
.nwa-fc__card-title{
	position:relative;
	margin:0 0 9px;
	padding:1px 22px 1px 0;
	font-size:13px;
	font-weight:700;
	color:var(--rc-text);
	text-transform:none;
	letter-spacing:0;
	cursor:pointer;
	user-select:none;
}
/* Галочка-указатель: вниз у раскрытой карточки, вправо у свёрнутой. */
.nwa-fc__card-title::after{
	content:"";
	position:absolute;
	top:50%;
	right:4px;
	width:7px;
	height:7px;
	margin-top:-5px;
	border-right:2px solid var(--rc-dim);
	border-bottom:2px solid var(--rc-dim);
	transform:rotate(45deg);
	transform-origin:center;
	transition:transform .15s ease, border-color .15s ease;
}
.nwa-fc__card-title:hover::after{border-color:var(--rc-orange)}
/* Карточки, которые не сворачиваются: ни стрелки, ни руки на курсоре. */
.nwa-fc__card[data-no-collapse] .nwa-fc__card-title{cursor:default;padding-right:0}
.nwa-fc__card[data-no-collapse] .nwa-fc__card-title::after{display:none}
.nwa-fc__card-title:focus-visible{outline:2px solid var(--rc-orange); outline-offset:2px}
.nwa-fc__card.is-collapsed .nwa-fc__card-title{margin-bottom:0}
.nwa-fc__card.is-collapsed .nwa-fc__card-title::after{
	margin-top:-4px;
	transform:rotate(-45deg);
}
/* Свёрнутая карточка показывает только заголовок. */
.nwa-fc__card.is-collapsed > *:not(.nwa-fc__card-title){display:none}
.nwa-fc__grid{
	display:flex;
	flex-direction:column;
	gap:6px;
}
.nwa-fc__row{
	display:grid;
	grid-template-columns:1fr 132px;
	align-items:center;
	gap:12px;
	margin:0;
	font-weight:400;
}
.nwa-fc__label{
	font-size:13px;
	color:var(--rc-dim);
	line-height:1.3;
}
.nwa-fc__input{
	width:100%;
	min-width:0;
	height:30px;
	padding:4px 9px;
	border:1px solid var(--rc-border);
	border-radius:6px;
	background:var(--rc-input);
	color:var(--rc-text);
	font-family:inherit;
	font-size:13px;
	font-weight:600;
	line-height:1.2;
	transition:border-color .15s ease;
}
.nwa-fc__input:focus{
	outline:none;
	border-color:var(--rc-orange);
}
.nwa-fc__input.is-bad{border-color:var(--rc-danger)}
select.nwa-fc__input{
	appearance:none;
	-webkit-appearance:none;
	padding-right:26px;
	background-image:linear-gradient(45deg,transparent 50%,var(--rc-dim) 50%),linear-gradient(135deg,var(--rc-dim) 50%,transparent 50%);
	/* Стрелка нарисована фоном, её положение считается от верха поля — при
	   смене высоты поля эти два числа пересчитывать. */
	background-position:calc(100% - 14px) 13px, calc(100% - 9px) 13px;
	background-size:5px 5px, 5px 5px;
	background-repeat:no-repeat;
	cursor:pointer;
}
/* Строки с длинными списками: подпись сверху, поле на всю ширину —
   иначе выбранный пункт не помещается и обрезается. */
.nwa-fc__row--wide{
	grid-template-columns:1fr;
	gap:5px;
}

/* ── Деталировка и раскрой листа ─────────────────────────────── */
.nwa-fc__cards--job{margin-bottom:10px}
.nwa-fc__cards--job .nwa-fc__side{
	min-height:76px;
}
.nwa-fc__parts-overview{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:10px 11px;
	border:1px solid var(--rc-border);
	border-radius:8px;
	background:var(--rc-page);
}
.nwa-fc__parts-overview-copy{min-width:0}
.nwa-fc__parts-overview-title{
	display:block;
	margin-bottom:2px;
	font-size:13px;
	font-weight:700;
	color:var(--rc-text);
}
.nwa-fc__parts-overview .nwa-fc__hint{margin:0}
.nwa-fc__parts-overview .nwa-fc__btn{flex:0 0 auto}
.nwa-fc__parts-dialog-box{width:min(1200px,100%)}
.nwa-fc__parts-dialog-sub{
	margin:3px 0 0;
	font-size:12px;
	line-height:1.35;
	color:var(--rc-dim);
}
.nwa-fc__parts-file-actions{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:4px;
}
.nwa-fc__parts-file-actions .nwa-fc__btn{
	dis:inline-flex;
	align-items:center;
	justify-content:center;
	height:38px;
	text-decoration:none;
}
.nwa-fc__parts-upload{margin:0;cursor:pointer}
.nwa-fc__parts-import-status{
	min-height:18px;
	margin:4px 0 7px;
	font-size:12px;
	line-height:1.4;
	color:var(--rc-dim);
}
.nwa-fc__parts-import-status.is-good{color:var(--rc-text)}
.nwa-fc__parts-import-status.is-bad{color:var(--rc-danger)}
.nwa-fc__parts-import-status.is-busy{color:var(--rc-orange-text)}
.nwa-fc__parts-wrap{
	padding:8px;
	border:1px solid var(--rc-border);
	border-radius:8px;
	background:var(--rc-page);
	overflow-x:auto;
}
.nwa-fc__parts-dialog .nwa-fc__parts-wrap{max-height:52vh;overflow:auto}
.nwa-fc__parts-wrap{padding-bottom:calc(8px + var(--fc-parts-scroll-tail,0px));scroll-snap-type:y mandatory;scroll-padding-top:var(--fc-parts-snap-top,49px);scroll-behavior:smooth;overscroll-behavior-y:contain}
.nwa-fc__part-row{scroll-snap-align:start;scroll-snap-stop:always}
@media(prefers-reduced-motion:reduce){.nwa-fc__parts-wrap{scroll-behavior:auto}}
.nwa-fc__parts{
	width:100%;
	min-width:1240px;
	border-collapse:separate;
	border-spacing:4px 5px;
	table-layout:fixed;
}
.nwa-fc__parts th{
	padding:0 3px 2px;
	font-size:10px;
	font-weight:600;
	line-height:1.2;
	color:var(--rc-dim);
	text-align:left;
}
.nwa-fc__parts th:nth-child(1),.nwa-fc__parts td:nth-child(1){width:62px}
.nwa-fc__parts th:nth-child(4),.nwa-fc__parts td:nth-child(4){width:66px}
.nwa-fc__parts th:nth-child(6),.nwa-fc__parts td:nth-child(6){width:86px}
.nwa-fc__parts th:nth-child(7),.nwa-fc__parts td:nth-child(7){width:82px}
.nwa-fc__parts th:nth-child(8),.nwa-fc__parts td:nth-child(8){width:130px}
.nwa-fc__parts th:nth-child(9),.nwa-fc__parts td:nth-child(9){width:116px}

.nwa-fc__parts th:last-child,
.nwa-fc__parts td:last-child{width:30px}
.nwa-fc__parts td{padding:0}
.nwa-fc__parts .nwa-fc__input{height:32px;padding-left:7px;padding-right:7px}
.nwa-fc__part-remove{
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	padding:0;
	border:1px solid transparent;
	border-radius:6px;
	background:transparent;
	color:var(--rc-dim);
	font-size:20px;
	line-height:1;
	cursor:pointer;
}
.nwa-fc__part-remove:hover{
	border-color:var(--rc-border);
	background:var(--rc-page);
	color:var(--rc-danger);
}
.nwa-fc__part-remove:disabled{opacity:.28;cursor:not-allowed}
.nwa-fc__part-type,.nwa-fc__part-profile,.nwa-fc__part-pattern{
	display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:32px;padding:0 7px;
	border:1px solid var(--rc-border);border-radius:6px;background:var(--rc-input);color:var(--rc-text);
	font:600 11px/1.15 inherit;cursor:pointer;
}
.nwa-fc__part-type:hover,.nwa-fc__part-profile:hover,.nwa-fc__part-pattern:hover{border-color:var(--rc-orange);color:var(--rc-orange-text)}
.nwa-fc__part-pattern.is-active{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-text)}
.nwa-fc__part-pattern.is-member{border-color:var(--rc-border);background:var(--rc-page);color:var(--rc-dim)}
.nwa-fc__part-pattern:disabled{opacity:.62;cursor:not-allowed}
.nwa-fc__part-profile.is-custom{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-text)}
.nwa-fc__part-profile.is-cut-only{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__part-profile-icon{width:22px;height:22px;border:1px solid currentColor;border-radius:3px;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.nwa-fc__part-orient{display:flex;align-items:center;justify-content:center;gap:5px;height:32px;font-size:11px;color:var(--rc-dim);cursor:pointer}
.nwa-fc__part-orient input{accent-color:var(--rc-orange)}
.nwa-fc__part-add{
	margin:4px 4px 1px;
	padding:5px 8px;
	border:0;
	background:transparent;
	color:var(--rc-orange-text);
	font-family:inherit;
	font-size:12px;
	font-weight:600;
	cursor:pointer;
}
.nwa-fc__part-add:hover{text-decoration:underline}
.nwa-fc__parts-template-hint{margin:8px 2px 0}
.nwa-fc__thickness-row{margin-top:9px}
.nwa-fc__source-fields{display:none !important}
.nwa-fc__setting-launch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--rc-border);border-radius:8px;background:var(--rc-page)}
.nwa-fc__setting-launch div{display:flex;min-width:0;flex-direction:column;gap:2px}
.nwa-fc__setting-launch strong{font-size:13px;color:var(--rc-text)}
.nwa-fc__setting-launch span{font-size:11px;line-height:1.3;color:var(--rc-dim)}
.nwa-fc__setting-launch .nwa-fc__btn{flex:0 0 auto}
.nwa-fc__sheet{
	margin-top:10px;
	padding-top:9px;
	border-top:1px solid var(--rc-border);
}
.nwa-fc__sheet-tabs{margin-top:9px}
.nwa-fc__is-job-hidden{display:none !important}

@media (max-width:520px){
	.nwa-fc__parts-overview{align-items:stretch;flex-direction:column}
	.nwa-fc__parts-overview .nwa-fc__btn{width:100%}
	.nwa-fc__parts-file-actions{display:grid;grid-template-columns:1fr}
	.nwa-fc__parts-file-actions .nwa-fc__btn{width:100%}
	.nwa-fc__parts-dialog{padding:8px}
	.nwa-fc__parts-dialog-box{max-height:calc(100vh - 16px);padding:13px 11px}
}

/* Наглядные окна параметров фасада и раскроя. */
.nwa-fc__catalog.nwa-fc__profile-dialog{z-index:2130}
.nwa-fc__catalog-box.nwa-fc__profile-dialog-box{width:min(1100px,100%);padding:18px 20px 0}
.nwa-fc__catalog.nwa-fc__fit-dialog{z-index:2140}
.nwa-fc__catalog-box.nwa-fc__fit-dialog-box{width:min(980px,100%);padding:20px}
.nwa-fc__fit-explain{margin:16px 0 14px;padding:11px 13px;border:1px solid var(--rc-border);border-radius:9px;background:var(--rc-page);color:var(--rc-text);font-size:12px;line-height:1.5}
.nwa-fc__fit-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nwa-fc__fit-choice{display:grid;grid-template-rows:104px auto auto;align-content:start;gap:8px;min-width:0;padding:13px;border:1px solid var(--rc-border);border-radius:11px;background:var(--rc-page);color:var(--rc-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.nwa-fc__fit-choice:hover,.nwa-fc__fit-choice:focus-visible{border-color:var(--rc-orange);box-shadow:0 5px 18px rgba(35,35,35,.12);outline:0;transform:translateY(-1px)}
.nwa-fc__fit-choice--accent{border-color:var(--rc-orange);background:var(--rc-page);box-shadow:inset 0 0 0 1px rgba(130,130,130,.12)}
.nwa-fc__fit-choice:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.nwa-fc__fit-choice>strong{font-size:13px;line-height:1.35}
.nwa-fc__fit-choice>span:not(.nwa-fc__fit-visual){color:var(--rc-dim);font-size:11px;line-height:1.45}
.nwa-fc__fit-choice>small{padding:7px 8px;border-radius:6px;background:var(--rc-page);color:var(--rc-orange-text);font-size:10px;line-height:1.4}
.nwa-fc__fit-visual{display:block;width:100%;height:104px;border-radius:8px;background:var(--rc-page)}
.nwa-fc__fit-board{fill:#D7CFB9;stroke:#5D594E;stroke-width:2}
.nwa-fc__fit-slope{fill:#99917C;stroke:#4E4A40;stroke-width:2}
.nwa-fc__fit-pocket{fill:#77705F;stroke:#403C34;stroke-width:2}
.nwa-fc__fit-visual--plain,.nwa-fc__fit-visual--edit{position:relative;border:1px solid var(--rc-border);background:var(--rc-page)}
.nwa-fc__fit-visual--plain i{position:absolute;inset:18px 26px;border:2px solid var(--rc-border);border-radius:3px;background:var(--rc-page)}
.nwa-fc__fit-visual--edit i{position:absolute;inset:18px 26px;border:2px solid var(--rc-border);border-radius:3px}
.nwa-fc__fit-visual--edit i:nth-child(2){inset:30px 40px;border-color:var(--rc-orange)}
.nwa-fc__fit-visual--edit i:nth-child(3){inset:41px 54px;border-color:var(--rc-orange)}
.nwa-fc__sheet-dialog-box{width:min(760px,100%)}
.nwa-fc__catalog-box.nwa-fc__settings-dialog-box{width:min(1040px,100%);padding-bottom:0}
.nwa-fc__settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0;padding-bottom:16px;border-bottom:1px solid var(--rc-border)}
.nwa-fc__settings-tab{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:11px;min-height:70px;padding:10px 14px;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-input);color:var(--rc-text);font-family:inherit;text-align:left;cursor:pointer}
.nwa-fc__settings-tab>span{display:flex;grid-row:1/3;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--rc-border);border-radius:9px;background:var(--rc-page);color:var(--rc-text);font-size:22px;font-weight:800}
.nwa-fc__settings-tab strong{align-self:end;font-size:14px}.nwa-fc__settings-tab small{align-self:start;color:var(--rc-dim);font-size:11px}
.nwa-fc__settings-tab:hover{border-color:var(--rc-border-strong);background:var(--rc-hover)}
.nwa-fc__settings-tab.is-active{border-color:var(--rc-orange);background:var(--rc-neutral-soft);box-shadow:0 0 0 1px var(--rc-orange)}
.nwa-fc__settings-tab.is-active>span{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__settings-panel{padding:18px 0 6px}.nwa-fc__settings-panel[hidden]{display:none}
.nwa-fc__settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.nwa-fc__settings-section-head>div{display:flex;flex-direction:column;gap:3px}.nwa-fc__settings-section-head strong{font-size:15px}.nwa-fc__settings-section-head span{font-size:11px;color:var(--rc-dim)}
.nwa-fc__settings-job,.nwa-fc__settings-machine-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.nwa-fc__settings-choice{display:flex;min-height:62px;flex-direction:column;justify-content:center;gap:3px;padding:10px 13px;border:1px solid var(--rc-border);border-radius:9px;background:var(--rc-input);color:var(--rc-text);font-family:inherit;text-align:left;cursor:pointer}
.nwa-fc__settings-choice strong{font-size:13px}.nwa-fc__settings-choice span{font-size:11px;color:var(--rc-dim)}
.nwa-fc__settings-choice:hover{border-color:var(--rc-border-strong);background:var(--rc-hover)}
.nwa-fc__settings-choice.is-active{border-color:var(--rc-orange);background:var(--rc-neutral-soft);box-shadow:0 0 0 1px var(--rc-orange)}
.nwa-fc__settings-tools{display:grid;gap:9px;max-height:min(58vh,580px);overflow:auto;padding:1px 5px 1px 1px}
.nwa-fc__settings-tool{display:grid;grid-template-columns:64px minmax(150px,1.2fr) 70px repeat(3,minmax(116px,1fr));align-items:end;gap:10px;padding:12px;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-page)}
.nwa-fc__settings-tool-pic{display:flex;align-self:center;width:58px;height:74px;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--rc-border);border-radius:8px;background:var(--rc-page)}
.nwa-fc__settings-tool-pic img{display:block;width:100%;height:100%;object-fit:contain}.nwa-fc__settings-tool-pic svg{display:block;width:40px;height:64px}
.nwa-fc__settings-tool-name{display:flex;align-self:center;flex-direction:column;gap:3px}.nwa-fc__settings-tool-name strong{font-size:13px}.nwa-fc__settings-tool-name span{font-size:10px;color:var(--rc-dim)}
.nwa-fc__settings-tool label,.nwa-fc__settings-post{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--rc-dim)}
.nwa-fc__settings-machine-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px}
.nwa-fc__settings-machine-modes{margin:0}.nwa-fc__settings-post{justify-content:center;padding:13px;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-page)}
.nwa-fc__settings-post>span{font-size:12px;font-weight:700;color:var(--rc-text)}.nwa-fc__settings-post small{line-height:1.35}
.nwa-fc__profile-step{padding:14px 0 17px;border-top:1px solid var(--rc-border)}
.nwa-fc__profile-step--geometry{padding-bottom:8px}
.nwa-fc__profile-step-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.nwa-fc__profile-step-head h4{margin:0;font-size:15px;line-height:1.25;color:var(--rc-text)}
.nwa-fc__profile-step-head p{margin:3px 0 0;font-size:11px;line-height:1.35;color:var(--rc-dim)}
.nwa-fc__profile-step-no{display:flex;flex:0 0 24px;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--rc-orange);color:#fff;font-size:12px;font-weight:800}
.nwa-fc__profile-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nwa-fc__profile-type{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:10px;min-height:82px;padding:7px 34px 7px 7px;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-input);color:var(--rc-text);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.nwa-fc__profile-type:hover{border-color:var(--rc-border-strong);background:var(--rc-hover)}
.nwa-fc__profile-type.is-active{border-color:var(--rc-orange);background:var(--rc-neutral-soft);box-shadow:0 0 0 1px var(--rc-orange)}
.nwa-fc__profile-type img{display:block;width:68px;height:68px;border-radius:7px;background:var(--rc-page);object-fit:cover}
.nwa-fc__profile-type>span{display:flex;min-width:0;flex-direction:column;gap:3px}
.nwa-fc__profile-type strong{font-size:13px;line-height:1.2}
.nwa-fc__profile-type small{display:block;color:var(--rc-dim);font-size:10px;line-height:1.3}
.nwa-fc__profile-type i{position:absolute;top:8px;right:8px;display:none;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--rc-orange);color:#fff;font-size:12px;font-style:normal;font-weight:800}
.nwa-fc__profile-type.is-active i{display:flex}
.nwa-fc__profile-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:12px}
.nwa-fc__sheet-settings-visual{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px}
.nwa-fc__profile-visual{display:grid;gap:10px;align-content:start}
.nwa-fc__profile-visual-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:-3px;color:var(--rc-text)}
.nwa-fc__profile-visual-title strong{font-size:13px}.nwa-fc__profile-visual-title span{font-size:10px;color:var(--rc-dim)}
.nwa-fc__profile-visual svg{width:100%;height:auto;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-page)}
.nwa-fc__profile-visual [hidden],.nwa-fc__profile-dialog .nwa-fc__is-profile-hidden{display:none !important}
.nwa-fc__pv-board{fill:#338EAA;stroke:#155D75;stroke-width:2}
.nwa-fc__pv-groove{fill:#24738E;stroke:#E8FAFF;stroke-width:5;filter:drop-shadow(3px 3px 2px rgba(0,0,0,.28))}
.nwa-fc__pv-groove--inner{fill:none;stroke-width:3}
.nwa-fc__pv-profile-line{fill:none;stroke:#E8FAFF;stroke-width:5;filter:drop-shadow(2px 2px 1px rgba(0,0,0,.24))}
.nwa-fc__pv-agat-outer{fill:none;stroke:#E8FAFF;stroke-width:3;vector-effect:non-scaling-stroke}
.nwa-fc__pv-agat-panel{fill:#27768E;stroke:#E8FAFF;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(2px 2px 1px rgba(0,0,0,.2))}
.nwa-fc__pv-klassika-band{--kl-top:#58A1B7;--kl-right:#226C84;--kl-bottom:#1D627A;--kl-left:#3389A1}
.nwa-fc__pv-klassika-band--shelf{--kl-top:#2E7F96;--kl-right:#246F86;--kl-bottom:#20677E;--kl-left:#28778E}
.nwa-fc__pv-klassika-band--slope{--kl-top:#4C99B0;--kl-right:#1C6078;--kl-bottom:#18566E;--kl-left:#2C7F97}
.nwa-fc__pv-klassika-band--bottom{--kl-top:#216A82;--kl-right:#1D6279;--kl-bottom:#19586F;--kl-left:#236E85}
.nwa-fc__pv-klassika-band--rise{--kl-top:#2B788F;--kl-right:#4B98AF;--kl-bottom:#58A4B9;--kl-left:#22677E}
.nwa-fc__pv-klassika-band path{stroke:rgba(15,72,91,.56);stroke-width:.8;vector-effect:non-scaling-stroke}
.nwa-fc__pv-klassika-band [data-kl-side="top"]{fill:var(--kl-top)}
.nwa-fc__pv-klassika-band [data-kl-side="right"]{fill:var(--kl-right)}
.nwa-fc__pv-klassika-band [data-kl-side="bottom"]{fill:var(--kl-bottom)}
.nwa-fc__pv-klassika-band [data-kl-side="left"]{fill:var(--kl-left)}
.nwa-fc__pv-klassika-panel{fill:#3B91A9;stroke:#E8FAFF;stroke-width:2;vector-effect:non-scaling-stroke}
.nwa-fc__pv-klassika-edges{fill:none;stroke:rgba(232,250,255,.72);stroke-width:1.4;vector-effect:non-scaling-stroke;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.18))}
.nwa-fc__pv-klassika-material{fill:#D7EDF4;stroke:#155D75;stroke-width:1.5;vector-effect:non-scaling-stroke}
.nwa-fc__pv-section.nwa-fc__pv-klassika-section{stroke-width:7;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.nwa-fc__pv-klassika-caption{fill:#155D75;font-size:10px;font-weight:700;text-anchor:middle}
.nwa-fc__pv-waves{stroke-width:4}
.nwa-fc__pv-wave-bands{fill:none;stroke:#176C86;stroke-linecap:butt}
.nwa-fc__pv-wave-centres{fill:none;stroke:rgba(232,250,255,.88);stroke-width:2;vector-effect:non-scaling-stroke}
.nwa-fc__pv-wave-material{fill:#D7EDF4;stroke:#155D75;stroke-width:2;vector-effect:non-scaling-stroke}
.nwa-fc__pv-edge-mode{fill:#155D75 !important;font-size:11px !important;font-weight:700 !important}
.nwa-fc__pv-joint-label{fill:#155D75 !important;font-size:11px !important;font-weight:700 !important}
.nwa-fc__profile-visual .nwa-fc__pv-wave-summary{fill:#155D75;font-size:12px;font-weight:700}
.nwa-fc__pv-dim,.nwa-fc__pv-depth,.nwa-fc__pv-width-dim{fill:none;stroke:var(--rc-orange);stroke-width:2;vector-effect:non-scaling-stroke}
.nwa-fc__profile-visual text{fill:#24313A;font:600 14px sans-serif;text-anchor:middle}
.nwa-fc__pv-section{fill:none;stroke:#16708E;stroke-width:12;stroke-linejoin:round}
#nwa-fc-pv-agat-section{stroke-width:8;stroke-linejoin:miter}
.nwa-fc__pv-width-label{fill:#AD3A0C !important;font-size:12px !important;font-weight:700 !important}
.nwa-fc__pv-inline-object{overflow:visible}
.nwa-fc__pv-inline{display:flex;align-items:center;justify-content:center;width:100%;height:28px;padding:0 4px;border:1px solid var(--rc-orange);border-radius:7px;background:#fff;box-shadow:0 2px 6px rgba(35,35,35,.18);color:var(--rc-orange-text);font:700 11px/1 'Montserrat','Segoe UI',Arial,sans-serif;cursor:text}
.nwa-fc__pv-inline:focus-within{border-color:var(--rc-orange);box-shadow:0 0 0 2px rgba(105,105,105,.2)}
.nwa-fc__pv-inline input{min-width:0;width:34px;height:24px;padding:0;border:0 !important;outline:0;background:transparent;color:var(--rc-text);font:700 12px/1 'Montserrat','Segoe UI',Arial,sans-serif;text-align:right;box-shadow:none !important}
.nwa-fc__pv-inline span{margin-left:2px;font-size:9px;font-weight:600}
.nwa-fc__profile-visual .nwa-fc__pv-section-title{fill:var(--rc-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
#nwa-fc-profile-dialog[data-profile-current="volna"] #nwa-fc-profile-section{background:var(--rc-page)}
.nwa-fc__profile-visual-note{margin:0;padding:8px 10px;border-radius:8px;background:var(--rc-page);color:var(--rc-dim);font-size:10px;line-height:1.45}
.nwa-fc__profile-visual-note b{color:var(--rc-orange-text)}
.nwa-fc__profile-controls{display:grid;gap:10px;align-content:start}
.nwa-fc__profile-group{padding:11px;border:1px solid var(--rc-border);border-radius:9px;background:var(--rc-page)}
.nwa-fc__profile-group[hidden]{display:none}
.nwa-fc__profile-group-title{display:flex;flex-direction:column;gap:2px;margin-bottom:9px}
.nwa-fc__profile-group-title strong{font-size:12px;color:var(--rc-text)}
.nwa-fc__profile-group-title span{font-size:10px;line-height:1.3;color:var(--rc-dim)}
.nwa-fc__profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px 10px;align-content:start}
.nwa-fc__profile-fields label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--rc-dim)}
.nwa-fc__wave-ends{display:grid;grid-template-columns:1fr;gap:8px}
.nwa-fc__wave-end{display:grid;gap:7px;padding:9px;border:1px solid var(--rc-border);border-radius:8px;background:#fff}
.nwa-fc__wave-end [hidden]{display:none !important}
.nwa-fc__wave-end>strong{color:var(--rc-text);font-size:12px}
.nwa-fc__wave-end label{display:flex;flex-direction:column;gap:4px;color:var(--rc-dim);font-size:10px}
.nwa-fc__wave-end small{min-height:28px;color:var(--rc-dim);font-size:9px;line-height:1.4}
.nwa-fc__wave-common-fields{margin-top:9px}
.nwa-fc__wave-common-fields label{grid-column:1/-1}
.nwa-fc__wave-result{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.nwa-fc__wave-result>span{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid var(--rc-border);border-radius:8px;background:#fff}
.nwa-fc__wave-result small{color:var(--rc-dim);font-size:10px}.nwa-fc__wave-result strong{color:var(--rc-text);font-size:15px}
.nwa-fc__wave-rule{margin:8px 0 0;padding:7px 9px;border-radius:7px;background:var(--rc-page);color:var(--rc-text);font-size:10px;line-height:1.4}
.nwa-fc__wave-rule.is-bad{background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__profile-actions{position:sticky;z-index:2;bottom:0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:8px -20px 0;padding:12px 20px 14px;border-top:1px solid var(--rc-border);background:rgba(255,255,255,.97);box-shadow:0 -8px 18px rgba(35,35,35,.04)}
.nwa-fc__sheet-sketch{position:relative;display:flex;align-items:center;justify-content:center;min-height:310px;border:12px solid var(--rc-border);background:linear-gradient(90deg,rgba(82,82,82,.08),transparent 25%,rgba(82,82,82,.08) 50%,transparent 75%);color:var(--rc-dim)}
.nwa-fc__sheet-sketch span{position:absolute;left:-30px;font-weight:700}.nwa-fc__sheet-sketch strong{font-size:26px}.nwa-fc__sheet-sketch i{position:absolute;bottom:16px;font-size:11px}
.nwa-fc__dialog-check{grid-column:1/-1;flex-direction:row !important;align-items:center}

/* Редактор раскроя: расчёт сначала проверяется здесь и только после
   «Применить» попадает на сцену станка. */
.nwa-fc__layout-dialog{z-index:2120;padding:14px}
.nwa-fc__catalog-box.nwa-fc__layout-dialog-box{width:min(1480px,100%);max-height:calc(100vh - 28px);padding:18px 20px 0;overflow:hidden}
#nwa-fc-layout-summary{font-size:13px;font-weight:600;line-height:1.4}
.nwa-fc__layout-dialog-box>.nwa-fc__catalog-head{flex:0 0 auto}
.nwa-fc__layout-tabs{display:flex;flex:0 0 auto;align-items:center;gap:7px;margin:0 0 10px;overflow-x:auto;overflow-y:hidden;padding-bottom:3px}
.nwa-fc__layout-tabs[hidden]{display:none}
.nwa-fc__layout-tabs>span{flex:0 0 auto;padding:8px 12px;border:1px solid var(--rc-border);border-radius:7px;background:var(--rc-page);color:var(--rc-text);font-family:inherit;font-size:11px;font-weight:700;line-height:1.25;white-space:nowrap}
.nwa-fc__layout-tabs>span.is-viewed{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__layout-settings{display:grid;min-height:130px;flex:1 1 auto;align-content:start;gap:8px;padding:10px;border:1px solid var(--rc-border);border-radius:8px;background:#fff;overflow-y:auto;overscroll-behavior:contain}
.nwa-fc__layout-settings.is-dirty{border-color:var(--rc-orange);background:var(--rc-page)}
.nwa-fc__layout-options{display:flex;flex:1 1 auto;min-height:110px;flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain}
.nwa-fc__layout-options>.nwa-fc__layout-settings{flex:1 0 auto;min-height:auto;overflow:visible}
.nwa-fc__layout-settings h4{margin:0;color:var(--rc-text);font-size:13px}
.nwa-fc__layout-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.nwa-fc__layout-settings-grid label{display:flex;min-width:0;flex-direction:column;gap:4px;color:var(--rc-dim);font-size:9px;font-weight:600}
.nwa-fc__layout-settings-grid .nwa-fc__input,.nwa-fc__layout-scrap-settings .nwa-fc__input{height:32px;min-width:0;padding:5px 7px;font-size:11px}
.nwa-fc__layout-settings-check{display:flex;min-height:34px;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--rc-border);border-radius:7px;background:var(--rc-page);color:var(--rc-text);font-size:11px;font-weight:700}
.nwa-fc__layout-settings-check input{width:16px;height:16px;margin:0;accent-color:var(--rc-orange)}
.nwa-fc__layout-scrap-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-top:8px;border-top:1px solid var(--rc-border)}
.nwa-fc__layout-scrap-settings[hidden]{display:none}
.nwa-fc__layout-scrap-settings label{display:flex;min-width:0;flex-direction:column;gap:4px;color:var(--rc-dim);font-size:9px;font-weight:600}
.nwa-fc__layout-settings>p{margin:0;color:var(--rc-dim);font-size:9px;line-height:1.35}
.nwa-fc__layout-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;min-height:0}
.nwa-fc__layout-board-wrap{display:flex;min-width:0;min-height:0;flex-direction:column;gap:7px}
.nwa-fc__layout-board-stage{position:relative;min-width:0;min-height:0}
.nwa-fc__layout-board{display:block;width:100%;height:min(68vh,720px);min-height:400px;border:1px solid var(--rc-border);border-radius:9px;background:var(--rc-page);cursor:default;touch-action:none;user-select:none}
.nwa-fc__layout-board.is-panning{cursor:default}
.nwa-fc__layout-board .sheet-board{fill:#FFF;stroke:#000;stroke-width:1;vector-effect:non-scaling-stroke}
.nwa-fc__layout-board .sheet-safe{fill:rgba(255,255,255,.2);stroke:#000;stroke-width:1;stroke-dasharray:none;vector-effect:non-scaling-stroke}
.nwa-fc__layout-board .sheet-title,.nwa-fc__layout-board .layout-map-remove-label{fill:#263238;font:700 36px/1 sans-serif}
.nwa-fc__layout-board .layout-empty-title{fill:#42515A;font:700 34px/1.2 sans-serif;text-anchor:middle}
.nwa-fc__layout-board .layout-empty-text{fill:#697A83;font:600 20px/1.35 sans-serif;text-anchor:middle}
.nwa-fc__layout-board .layout-part,.nwa-fc__layout-board .layout-part:active{cursor:default;outline:none}
.nwa-fc__layout-board .layout-part polygon{fill:#E8DFCF;stroke:#000;stroke-width:1;vector-effect:non-scaling-stroke;filter:none}
.nwa-fc__layout-board .layout-part:hover polygon{fill:#EEE7DC}
.nwa-fc__layout-board .layout-part.is-selected polygon{stroke:var(--rc-orange);stroke-width:1}
.nwa-fc__layout-board .layout-part.is-invalid polygon{fill:#E98679;stroke:#A72B1B}
.nwa-fc__layout-board .layout-part text{pointer-events:none;fill:#111;font-family:sans-serif;font-weight:400;text-anchor:middle;dominant-baseline:middle;stroke:none}
.nwa-fc__layout-board .layout-part .layout-part-label{fill:#111;font-weight:400;stroke:none}
.nwa-fc__layout-board .layout-part .layout-part-size{font-weight:400;fill:#111;stroke:none}
.nwa-fc__layout-board .layout-part.is-dragging{opacity:.24}
.nwa-fc__layout-board .layout-selection-rectangle{fill:rgba(93,110,130,.14);stroke:#000;stroke-width:1;stroke-dasharray:none;vector-effect:non-scaling-stroke;pointer-events:none}
.nwa-fc__layout-board .layout-group-preview{pointer-events:none}
.nwa-fc__layout-board .layout-group-preview polygon{fill:rgba(56,160,122,.5);stroke:#000;stroke-width:1;stroke-dasharray:none;vector-effect:non-scaling-stroke}
.nwa-fc__layout-board .layout-group-preview.is-invalid polygon{fill:rgba(223,60,50,.35);stroke:#000}
.nwa-fc__layout-selection-count{position:absolute;z-index:2;top:48px;right:12px;padding:5px 9px;border:1px solid var(--rc-border);border-radius:6px;background:#fff;color:var(--rc-text);font-size:12px;pointer-events:none}
.nwa-fc__layout-selection-count[hidden]{display:none}
.nwa-fc__layout-board .layout-placement-zones{pointer-events:none;fill:#DF3C32;fill-opacity:.38}
.nwa-fc__layout-board .layout-placement-ghost{pointer-events:none}
.nwa-fc__layout-board .layout-placement-guides{pointer-events:none;stroke:#000;stroke-width:1;stroke-dasharray:none;vector-effect:non-scaling-stroke}
.nwa-fc__layout-board .layout-placement-guides line{vector-effect:non-scaling-stroke}
.nwa-fc__layout-board .layout-placement-ghost polygon{fill:#55C39A;fill-opacity:.68;stroke:#000;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:none}
.nwa-fc__layout-board .layout-placement-ghost.is-invalid polygon{fill:#EE6559;stroke:#000}
.nwa-fc__layout-board .layout-placement-ghost text{fill:#111;font-family:sans-serif;font-weight:400;text-anchor:middle;dominant-baseline:middle;stroke:none}
.nwa-fc__layout-placement-notice{position:absolute;z-index:4;right:12px;bottom:12px;left:12px;padding:11px 14px;border:1px solid var(--rc-border);border-radius:8px;background:var(--rc-page);color:var(--rc-text);font-size:12px;font-weight:700;line-height:1.4;box-shadow:0 3px 14px rgba(33,33,33,.2);pointer-events:none}
.nwa-fc__layout-placement-notice.is-bad{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__layout-placement-notice[hidden]{display:none}
.nwa-fc__layout-confirm{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(28,28,28,.5)}
.nwa-fc__layout-confirm[hidden]{display:none}
.nwa-fc__layout-confirm-box{width:min(500px,100%);padding:24px;border-radius:12px;background:#fff;color:var(--rc-text);box-shadow:0 14px 45px rgba(0,0,0,.3)}
.nwa-fc__layout-confirm-box h3{margin:0 0 12px;font-size:18px;line-height:1.3}
.nwa-fc__layout-confirm-box p{margin:0 0 20px;font-size:14px;line-height:1.5}
.nwa-fc__layout-confirm-actions{display:flex;flex-wrap:wrap;gap:10px}
.nwa-fc__layout-confirm-actions .nwa-fc__btn{flex:1 1 180px}
.nwa-fc__layout-view-tools{position:absolute;z-index:3;top:9px;right:9px;display:flex;align-items:flex-end;flex-direction:column;gap:7px}
.nwa-fc__layout-sheet-view{position:relative;display:flex;width:44px;height:44px;border:1px solid var(--rc-border);border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(40,40,40,.16)}
.nwa-fc__layout-tool{display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid var(--rc-border);border-radius:8px;background:#fff;color:var(--rc-text);cursor:pointer;box-shadow:0 2px 8px rgba(40,40,40,.16)}
.nwa-fc__layout-tool:hover,.nwa-fc__layout-tool:focus-visible,.nwa-fc__layout-tool.is-active{border-color:var(--rc-orange);color:var(--rc-orange-text);outline:none}
.nwa-fc__layout-sheet-view>.nwa-fc__layout-tool{border:0;border-radius:0;box-shadow:none}
.nwa-fc__layout-sheet-view>.nwa-fc__layout-tool:first-child{border-radius:7px 0 0 7px}
.nwa-fc__layout-sheet-view>.nwa-fc__layout-tool:first-child{width:29px}
.nwa-fc__layout-sheet-view>.nwa-fc__layout-tool:first-child:after{position:absolute;top:7px;bottom:7px;left:28px;width:1px;background:var(--rc-page);content:""}
.nwa-fc__layout-sheet-menu-toggle{width:15px !important;border-radius:0 7px 7px 0 !important}
.nwa-fc__layout-grid-icon{display:grid;width:18px;height:18px;grid-template-columns:repeat(2,1fr);gap:2px}
.nwa-fc__layout-grid-icon i{display:block;border:1.5px solid currentColor;border-radius:1px}
.nwa-fc__layout-caret-icon{display:block;width:7px;height:7px;margin:-3px 2px 0 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.nwa-fc__layout-fit-icon{position:relative;display:block;width:20px;height:20px;background:linear-gradient(currentColor,currentColor) left top/7px 2px no-repeat,linear-gradient(currentColor,currentColor) left top/2px 7px no-repeat,linear-gradient(currentColor,currentColor) right top/7px 2px no-repeat,linear-gradient(currentColor,currentColor) right top/2px 7px no-repeat,linear-gradient(currentColor,currentColor) left bottom/7px 2px no-repeat,linear-gradient(currentColor,currentColor) left bottom/2px 7px no-repeat,linear-gradient(currentColor,currentColor) right bottom/7px 2px no-repeat,linear-gradient(currentColor,currentColor) right bottom/2px 7px no-repeat}
.nwa-fc__layout-sheet-menu{position:absolute;z-index:5;top:0;right:51px;min-width:116px;padding:5px;border:1px solid var(--rc-border);border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(40,40,40,.2)}
.nwa-fc__layout-sheet-menu[hidden]{display:none}
.nwa-fc__layout-sheet-menu button{display:block;width:100%;padding:8px 10px;border:0;border-radius:6px;background:#fff;color:var(--rc-text);font:700 11px/1.2 inherit;text-align:left;cursor:pointer}
.nwa-fc__layout-sheet-menu button:hover,.nwa-fc__layout-sheet-menu button.is-active{background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__layout-help{margin:0;color:var(--rc-dim);font-size:12px;line-height:1.45}
.nwa-fc__layout-inspector{display:flex;min-height:0;max-height:min(68vh,720px);flex-direction:column;gap:10px;padding:13px;border:1px solid var(--rc-border);border-radius:9px;background:var(--rc-page);overflow:hidden}
.nwa-fc__layout-buffer{display:flex;flex:0 0 320px;height:320px;min-height:320px;max-height:320px;padding:9px;flex-direction:column;border:1px dashed var(--rc-border);border-radius:8px;background:#fff;transition:border-color .15s,background .15s}
.nwa-fc__layout-buffer.is-drop-target{border-color:var(--rc-orange);background:var(--rc-page);box-shadow:inset 0 0 0 1px var(--rc-orange)}
.nwa-fc__layout-board.is-buffer-drop-ready{box-shadow:inset 0 0 0 2px var(--rc-orange)}
.nwa-fc__layout-buffer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--rc-text);font-size:12px}
.nwa-fc__layout-buffer-head span{display:grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:999px;background:var(--rc-page);color:var(--rc-text);font:800 10px/1 inherit}
.nwa-fc__layout-buffer-empty{margin:9px 0 0;color:var(--rc-dim);font-size:9px;line-height:1.35}
.nwa-fc__layout-buffer-items{display:grid;min-height:0;flex:1 1 auto;align-content:start;gap:5px;margin-top:7px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.nwa-fc__layout-buffer-item{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;padding:7px 8px;border:1px solid var(--rc-border);border-radius:6px;background:var(--rc-page);color:var(--rc-text);font:700 10px/1.2 inherit;text-align:left;cursor:pointer;touch-action:none}
.nwa-fc__layout-buffer-item:hover,.nwa-fc__layout-buffer-item.is-selected{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__layout-buffer-item small{font-size:8px;font-weight:600;color:var(--rc-dim)}
.nwa-fc__layout-buffer-item.is-dragging{opacity:.58}
.nwa-fc__layout-actions{display:grid;gap:8px;margin-top:auto}
.nwa-fc__layout-actions .nwa-fc__btn{width:100%;min-height:42px}
.nwa-fc__layout-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.nwa-fc__layout-actions .nwa-fc__layout-history-btn{display:flex;align-items:center;justify-content:center;gap:8px}
.nwa-fc__layout-history-btn span[aria-hidden]{font:800 22px/1 sans-serif}
.nwa-fc__layout-history-btn:disabled{opacity:.45;cursor:default}
.nwa-fc__layout-validation{margin:0;padding:9px;border-radius:7px;background:var(--rc-page);color:var(--rc-text);font-size:10px;line-height:1.4}
.nwa-fc__layout-validation.is-bad{background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__layout-validation.has-buffer{background:var(--rc-page);color:var(--rc-orange-text)}
@media (max-width:900px){.nwa-fc__profile-types{grid-template-columns:1fr}.nwa-fc__profile-type{min-height:72px;grid-template-columns:58px minmax(0,1fr)}.nwa-fc__profile-type img{width:58px;height:58px}.nwa-fc__profile-layout,.nwa-fc__sheet-settings-visual{grid-template-columns:1fr}.nwa-fc__sheet-sketch{min-height:180px}}
@media (max-width:760px){.nwa-fc__profile-dialog{padding:8px}.nwa-fc__profile-dialog-box{max-height:calc(100vh - 16px);padding:14px 14px 0}.nwa-fc__fit-dialog{padding:8px}.nwa-fc__catalog-box.nwa-fc__fit-dialog-box{max-height:calc(100vh - 16px);padding:14px;overflow:auto}.nwa-fc__fit-choices{grid-template-columns:1fr}.nwa-fc__fit-choice{grid-template-columns:118px minmax(0,1fr);grid-template-rows:auto auto;min-height:118px}.nwa-fc__fit-choice .nwa-fc__fit-visual{grid-row:1/3;height:90px}.nwa-fc__fit-choice>small{grid-column:2}.nwa-fc__profile-fields,.nwa-fc__wave-ends{grid-template-columns:1fr}.nwa-fc__profile-actions{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.nwa-fc__profile-actions .nwa-fc__btn{flex:1 1 100%}.nwa-fc__setting-launch{align-items:stretch;flex-direction:column}.nwa-fc__setting-launch .nwa-fc__btn{width:100%}.nwa-fc__layout-dialog{padding:6px}.nwa-fc__catalog-box.nwa-fc__layout-dialog-box{max-height:calc(100vh - 12px);padding:12px 12px 0;overflow:auto}.nwa-fc__layout-workspace{grid-template-columns:1fr}.nwa-fc__layout-board{height:52vh;min-height:300px}.nwa-fc__layout-inspector{min-height:220px;max-height:none}.nwa-fc__layout-buffer{flex-basis:240px;height:240px;min-height:240px;max-height:240px}.nwa-fc__layout-view-tools{top:6px;right:6px}.nwa-fc__layout-tool{width:40px;height:40px}.nwa-fc__layout-sheet-view{width:40px;height:40px}.nwa-fc__layout-sheet-view>.nwa-fc__layout-tool:first-child{width:26px}.nwa-fc__layout-sheet-menu-toggle{width:14px !important}.nwa-fc__layout-sheet-view>.nwa-fc__layout-tool:first-child:after{left:25px}.nwa-fc__layout-sheet-menu{right:47px}}

/* Общий рисунок на нескольких фасадах. */
.nwa-fc__pattern-dialog{z-index:2050}
.nwa-fc__catalog-box.nwa-fc__pattern-dialog-box{width:min(980px,100%);padding:18px 20px 0;overflow-x:hidden}
.nwa-fc__pattern-step{padding:14px 0 16px;border-top:1px solid var(--rc-border)}
.nwa-fc__pattern-layouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.nwa-fc__pattern-layouts>button{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:78px;padding:9px;border:1px solid var(--rc-border);border-radius:10px;background:#fff;color:var(--rc-text);font-family:inherit;text-align:left;cursor:pointer}
.nwa-fc__pattern-layouts>button:hover{border-color:var(--rc-border-strong)}
.nwa-fc__pattern-layouts>button.is-active{border-color:var(--rc-orange);background:var(--rc-page);box-shadow:0 0 0 1px var(--rc-orange)}
.nwa-fc__pattern-layouts i{display:grid;width:88px;height:50px;gap:3px;padding:3px;border:1px solid var(--rc-border);border-radius:5px;background:var(--rc-page)}
.nwa-fc__pattern-layouts [data-pattern-layout="h2"] i{grid-template-columns:repeat(2,1fr)}
.nwa-fc__pattern-layouts [data-pattern-layout="h3"] i{grid-template-columns:repeat(3,1fr)}
.nwa-fc__pattern-layouts [data-pattern-layout="g4"] i{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}
.nwa-fc__pattern-layouts [data-pattern-layout="custom"] i{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}
.nwa-fc__pattern-layouts i b{display:block;border:2px solid var(--rc-border);background:var(--rc-page)}
.nwa-fc__pattern-layouts span{display:flex;min-width:0;flex-direction:column;gap:3px}.nwa-fc__pattern-layouts strong{overflow-wrap:anywhere;font-size:13px}.nwa-fc__pattern-layouts small{overflow-wrap:anywhere;color:var(--rc-dim);font-size:10px;line-height:1.3}
.nwa-fc__pattern-custom{display:flex;align-items:flex-end;gap:9px;margin-top:10px;padding:10px 12px;border:1px solid var(--rc-border);border-radius:9px;background:var(--rc-page)}
.nwa-fc__pattern-custom[hidden]{display:none}
.nwa-fc__pattern-custom label{display:flex;flex-direction:column;gap:4px;width:150px;color:var(--rc-dim);font-size:10px}.nwa-fc__pattern-custom>span{padding-bottom:8px;color:var(--rc-text);font-size:18px;font-weight:700}.nwa-fc__pattern-custom small{align-self:center;color:var(--rc-dim);font-size:10px}
.nwa-fc__pattern-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);gap:16px;align-items:start}
.nwa-fc__pattern-grid{position:relative;isolation:isolate;grid-column:1;grid-row:1;display:grid;min-height:280px;gap:7px;padding:14px;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-page);overflow:auto}
.nwa-fc__pattern-grid[data-layout="h2"]{grid-template-columns:repeat(2,1fr)}
.nwa-fc__pattern-grid[data-layout="h3"]{grid-template-columns:repeat(3,1fr)}
.nwa-fc__pattern-grid[data-layout="g4"]{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}
.nwa-fc__pattern-cell{position:relative;display:flex;min-width:0;align-items:center;justify-content:center;padding:32px 10px 14px;border:3px solid var(--rc-orange);border-radius:4px;background:var(--rc-page)}
.nwa-fc__pattern-cell>span{position:absolute;z-index:4;top:7px;left:9px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--rc-orange);color:#fff;font-size:11px;font-weight:800}
.nwa-fc__pattern-cell select{position:absolute;z-index:4;top:50%;left:50%;width:min(128px,calc(100% - 20px));height:36px;transform:translate(-50%,-50%);padding:0 28px 0 10px;border:1px solid var(--rc-border);border-radius:7px;background:#fff;color:var(--rc-text);font-family:inherit;font-size:13px;font-weight:600;line-height:1.2}
.nwa-fc__pattern-cell select:disabled{background:var(--rc-page);color:var(--rc-text);opacity:1}
.nwa-fc__pattern-vector{position:absolute;z-index:2;pointer-events:none;overflow:visible}
.nwa-fc__pattern-vector path{fill:none;stroke:#75858D;stroke-width:5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 rgba(255,255,255,.55))}
.nwa-fc__pattern-vector-label{position:absolute;z-index:3;top:7px;left:50%;max-width:calc(100% - 90px);transform:translateX(-50%);padding:3px 8px;border-radius:999px;background:rgba(250,250,250,.92);box-shadow:0 1px 4px rgba(36,36,36,.16);color:var(--rc-text);font-size:10px;line-height:1.2;text-align:center;pointer-events:none}
.nwa-fc__pattern-help{padding:13px;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-page);color:var(--rc-dim);font-size:11px;line-height:1.45}
.nwa-fc__pattern-help strong{display:block;margin-bottom:5px;color:var(--rc-text);font-size:13px}.nwa-fc__pattern-help p{margin:0 0 8px}.nwa-fc__pattern-help ul{margin:0;padding-left:17px}.nwa-fc__pattern-help li+li{margin-top:4px}
.nwa-fc__pattern-aside{grid-column:2;grid-row:1/span 2;display:grid;gap:10px;min-width:0}
.nwa-fc__pattern-wave{display:grid;gap:8px;padding:12px;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-page)}
.nwa-fc__pattern-wave[hidden]{display:none}
.nwa-fc__pattern-wave-title{display:flex;flex-direction:column;gap:2px}.nwa-fc__pattern-wave-title strong{color:var(--rc-text);font-size:13px}.nwa-fc__pattern-wave-title span{color:var(--rc-dim);font-size:10px}
.nwa-fc__pattern-wave-card{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:end;gap:6px 8px;padding:9px;border:1px solid var(--rc-border);border-radius:8px;background:#fff}
.nwa-fc__pattern-wave-card>strong{grid-column:1/-1;color:var(--rc-text);font-size:11px}.nwa-fc__pattern-wave-card>.nwa-fc__input{height:34px;font-size:10px}.nwa-fc__pattern-wave-card>label{display:grid;grid-template-columns:1fr;gap:3px;color:var(--rc-dim);font-size:9px}.nwa-fc__pattern-wave-card>label[hidden]{display:none}.nwa-fc__pattern-wave-card>label .nwa-fc__input{height:34px}
.nwa-fc__pattern-wave-joint{display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:end;gap:8px;padding:9px;border:1px solid var(--rc-border);border-radius:8px;background:#fff}.nwa-fc__pattern-wave-joint>span{display:flex;min-width:0;flex-direction:column;gap:3px}.nwa-fc__pattern-wave-joint strong{color:var(--rc-text);font-size:11px}.nwa-fc__pattern-wave-joint small{color:var(--rc-dim);font-size:9px;line-height:1.25}.nwa-fc__pattern-wave-joint .nwa-fc__input{height:34px}
.nwa-fc__pattern-wave-note{margin:0;padding:7px 8px;border-radius:7px;background:var(--rc-page);color:var(--rc-text);font-size:10px;line-height:1.35}
.nwa-fc__pattern-section{grid-column:1;grid-row:2;min-width:0;padding:10px 12px 8px;border:1px solid var(--rc-border);border-radius:10px;background:var(--rc-page);overflow-x:auto;overflow-y:hidden}
.nwa-fc__pattern-section[hidden]{display:none}
.nwa-fc__pattern-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:3px;color:var(--rc-dim);font-size:10px}.nwa-fc__pattern-section-head strong{font-size:12px;letter-spacing:.03em}.nwa-fc__pattern-section-head span{color:var(--rc-dim);text-align:right}
.nwa-fc__pattern-section svg{display:block;width:100%;height:238px;overflow:visible}
.nwa-fc__pattern-section-material{fill:#D7EDF4;stroke:#176C86;stroke-width:2}
.nwa-fc__pattern-section-material.is-neighbour{fill:#EAF4F6;stroke:#6B8D99;stroke-dasharray:none}
.nwa-fc__pattern-section-seam{fill:none;stroke:var(--rc-orange);stroke-width:2;stroke-dasharray:none}
.nwa-fc__pattern-section-dim{fill:none;stroke:var(--rc-orange);stroke-width:1.5}
.nwa-fc__pattern-section-value-bg{fill:#fff;stroke:var(--rc-orange);stroke-width:1}
.nwa-fc__pattern-section-label{fill:#C74412;font:700 11px Arial,sans-serif}.nwa-fc__pattern-section-caption{fill:#176C86;font:700 11px Arial,sans-serif}
.nwa-fc__pattern-error{min-height:18px;margin:8px 0 0;color:var(--rc-danger);font-size:11px;font-weight:600}
@media (max-width:800px){.nwa-fc__pattern-layouts{grid-template-columns:1fr}.nwa-fc__pattern-workspace{grid-template-columns:1fr}.nwa-fc__pattern-grid,.nwa-fc__pattern-section,.nwa-fc__pattern-aside{grid-column:1;grid-row:auto}.nwa-fc__pattern-grid{min-height:220px}}

/* ── Карточки стороны реза ─────────────────────────────────────── */
.nwa-fc__cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:8px;
	margin:8px 0 0;
}
.nwa-fc__side{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	padding:10px 6px 8px;
	border:1px solid var(--rc-border);
	border-radius:8px;
	background:var(--rc-input);
	color:var(--rc-dim);
	font-family:inherit;
	font-size:12px;
	cursor:pointer;
	transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.nwa-fc__side:hover{
	border-color:var(--rc-border-strong);
	background:var(--rc-hover);
	color:var(--rc-text);
}
.nwa-fc__side.is-active{
	border-color:var(--rc-orange);
	color:var(--rc-orange-text);
	background:var(--rc-neutral-soft);
}
.nwa-fc__side-pic{
	width:100%;
	height:40px;
	display:block;
}
/* Значок «увеличить» в углу карточки каталога (владелец, 21.09.2026).
   Раньше крупная картинка всплывала сама при наведении — теперь только по
   нажатию на значок, а наведение карточку больше не трогает. */
.nwa-fc__side{position:relative}
.nwa-fc__side-zoom{
	position:absolute;
	top:6px;
	right:6px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	border:1px solid var(--rc-border);
	border-radius:7px;
	background:var(--rc-panel);
	color:var(--rc-dim);
	opacity:.85;
	cursor:zoom-in;
}
.nwa-fc__side-zoom svg{
	width:15px;
	height:15px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.9;
	stroke-linecap:round;
}
.nwa-fc__side-zoom:hover,
.nwa-fc__side-zoom:focus-visible{
	border-color:var(--rc-orange);
	background:var(--rc-neutral-soft);
	color:var(--rc-orange-text);
	opacity:1;
}
.nwa-fc__cards--types{
	grid-template-columns:repeat(2,minmax(0,1fr));
}
.nwa-fc__type-image{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:1;
	object-fit:cover;
	border-radius:6px;
	background:var(--rc-page);
}
.nwa-fc__side-name{font-weight:600}

/* ── Тип фрезеровки: выбранный тип + каталог (19.09.2026) ─────────
   Наверху — только выбранный тип и кнопка «Выбрать»; все типы — в окне-
   каталоге. Типов будет много, сетка карточек в боковой панели не
   помещалась бы. */
.nwa-fc__type-pick{
	display:flex;
	align-items:center;
	gap:12px;
}
.nwa-fc__type-thumb{
	flex:0 0 64px;
	width:64px;
	height:64px;
	object-fit:cover;
	border:1px solid var(--rc-border);
	border-radius:8px;
	background:var(--rc-page);
}
.nwa-fc__type-thumb[hidden]{display:none}
.nwa-fc__type-info{
	flex:1 1 auto;
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:3px;
}
.nwa-fc__type-name{
	font-size:15px;
	font-weight:700;
	color:var(--rc-text);
}
.nwa-fc__type-hint{
	font-size:12px;
	line-height:1.35;
	color:var(--rc-dim);
}
.nwa-fc__type-open{
	flex:0 0 auto;
	height:38px;
	padding:0 16px;
}
.nwa-fc__grid--file{margin-top:10px}
/* Сводка инструмента: текст сверху, кнопка «Настройка инструмента» под ним
   во всю ширину — рядом с длинной кнопкой текст сжимался в столбик. */
.nwa-fc__type-pick--stack{
	flex-direction:column;
	align-items:stretch;
	gap:8px;
}
.nwa-fc__type-pick--stack .nwa-fc__type-open{width:100%}

/* Каталог инструментов («Настройка инструмента»): строка на фрезу — номер,
   тип, режимы. Выбранная фреза подсвечена. */
.nwa-fc__tools{
	display:flex;
	flex-direction:column;
	gap:8px;
}
.nwa-fc__tool{
	padding:8px 10px 10px;
	border:1px solid var(--rc-border);
	border-radius:8px;
	background:var(--rc-input);
}
.nwa-fc__tool.is-active{
	border-color:var(--rc-orange);
	background:var(--rc-orange-soft);
}
.nwa-fc__tool-head{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:8px;
}
/* Картинка фрезы в каталоге инструментов: фото или профиль сбоку. */
.nwa-fc__tool-pic{
	flex:0 0 60px;
	width:60px;
	height:80px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--rc-border);
	border-radius:6px;
	background:var(--rc-page);
	overflow:hidden;
}
.nwa-fc__tool-pic img{
	width:100%;
	height:100%;
	object-fit:contain;
}
.nwa-fc__tool-pic svg{
	width:48px;
	height:76px;
}
.nwa-fc__tp-steel{fill:#D5DAE0;stroke:#7B838C;stroke-width:1}
.nwa-fc__tp-cut{fill:#7E868F;stroke:#4E555C;stroke-width:1;stroke-linejoin:round}
.nwa-fc__tp-flute{fill:none;stroke:#B9C0C7;stroke-width:1.2}
.nwa-fc__tool-no{
	flex:0 0 72px;
	width:72px;
}
.nwa-fc__tool-name{
	font-size:13px;
	font-weight:700;
	color:var(--rc-text);
}
.nwa-fc__tool-modes{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:6px;
}
.nwa-fc__tool-mode{
	display:flex;
	flex-direction:column;
	gap:3px;
	margin:0;
	font-size:11px;
	font-weight:400;
	color:var(--rc-dim);
}
.nwa-fc__tool-mode .nwa-fc__input{width:100%}

/* Подраздел внутри карточки («Отъезд в конце» в «Параметрах обработки»). */
.nwa-fc__subhead{
	margin:14px 0 8px;
	padding-top:10px;
	border-top:1px solid var(--rc-border);
	font-size:12px;
	font-weight:700;
	color:var(--rc-text);
}

/* Обёртка окна-каталога в конце <body> (см. catalogPortal в nwa-facade.js):
   от .nwa-fc берёт только цвета и шрифт, без рамки, фона и обрезки. */
.nwa-fc.nwa-fc--portal{
	margin:0;
	border:0;
	border-radius:0;
	background:none;
	box-shadow:none;
	overflow:visible;
}
.nwa-fc__catalog{
	position:fixed;
	inset:0;
	z-index:2000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:16px;
	background:rgba(17,17,17,.55);
}
.nwa-fc__catalog[hidden]{display:none}
.nwa-fc__catalog-box{
	width:min(760px, 100%);
	max-height:calc(100vh - 32px);
	overflow:auto;
	padding:16px 18px 14px;
	border-radius:12px;
	background:var(--rc-panel);
	box-shadow:0 18px 50px rgba(0,0,0,.35);
}
/* Все рабочие окна занимают одну и ту же область поверх станка. На типовом
   экране 1710 × 1400 это примерно 1180 × 940 px — как отмеченная владельцем
   зона. Ширины хватает таблице фасадов без горизонтальной прокрутки. */
.nwa-fc--portal .nwa-fc__catalog-box{
	display:flex;
	width:min(1180px,calc(100vw - 32px));
	height:min(940px,calc(100vh - 32px));
	max-height:calc(100vh - 32px);
	flex-direction:column;
	box-sizing:border-box;
	overflow-x:hidden;
	overflow-y:auto;
}
.nwa-fc--portal .nwa-fc__catalog-foot{margin-top:auto;flex:0 0 auto}
.nwa-fc--portal .nwa-fc__profile-actions{margin-top:auto;flex:0 0 auto}
.nwa-fc--portal .nwa-fc__parts-dialog .nwa-fc__parts-wrap{overflow-x:hidden}
.nwa-fc--portal .nwa-fc__parts-dialog .nwa-fc__parts{min-width:0}
.nwa-fc--portal .nwa-fc__catalog-box.nwa-fc__fit-dialog-box{
	width:min(980px,calc(100vw - 32px));
	height:auto;
	max-height:calc(100vh - 32px);
	padding:20px;
	overflow:auto;
}
/* Карта кроя использует всю рабочую область, как окно станка. Это правило
   намеренно специфичнее общего размера портальных окон 1180 × 940. */
.nwa-fc--portal .nwa-fc__catalog-box.nwa-fc__layout-dialog-box{
	width:min(1480px,calc(100vw - 28px));
	height:calc(100vh - 28px);
	height:calc(100dvh - 28px);
	max-height:calc(100vh - 28px);
	max-height:calc(100dvh - 28px);
	padding:18px 20px;
	overflow:hidden;
}
@media (max-width:760px){.nwa-fc--portal .nwa-fc__catalog-box.nwa-fc__fit-dialog-box{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:14px}}
@media (min-width:761px){
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-workspace{flex:1 1 auto;min-height:0}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-board-wrap{height:100%}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-board-stage{flex:1 1 auto}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-board{height:100%;min-height:0}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-inspector{height:100%;max-height:none;overflow-y:auto}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-buffer{flex:0 1 320px;height:auto;min-height:96px}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-settings{min-height:110px}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-validation,
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-actions{flex:0 0 auto}
}
@media (max-width:760px){
	.nwa-fc--portal .nwa-fc__catalog-box.nwa-fc__layout-dialog-box{
		width:calc(100vw - 12px);
		height:calc(100vh - 12px);
		height:calc(100dvh - 12px);
		max-height:calc(100vh - 12px);
		max-height:calc(100dvh - 12px);
		padding:12px 12px 14px;
		overflow:auto;
	}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-workspace{flex:0 0 auto}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-board-wrap{height:auto}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-board-stage{flex:none}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-board{height:52vh;min-height:300px}
	.nwa-fc--portal .nwa-fc__layout-dialog-box .nwa-fc__layout-inspector{height:auto;max-height:none}
}
.nwa-fc__catalog-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-bottom:12px;
}
.nwa-fc__catalog-title{
	margin:0;
	font-size:17px;
	font-weight:700;
	color:var(--rc-text);
}
.nwa-fc__catalog-close{
	width:34px;
	height:34px;
	border:1px solid var(--rc-border);
	border-radius:8px;
	background:var(--rc-input);
	color:var(--rc-text);
	font-size:22px;
	line-height:1;
	cursor:pointer;
}
/* Увеличенная картинка фасада при наведении на карточку каталога. */
.nwa-fc__zoom{
	position:fixed;
	z-index:2100;
	/* 640 — вдвое больше прежних 320 (владелец, 19.09.2026); на невысоком
	   или узком экране ужимается, чтобы целиком помещаться. */
	width:min(960px, calc(100vw - 32px), calc(100vh - 90px));
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	padding:10px 10px 12px;
	border-radius:12px;
	background:var(--rc-panel);
	box-shadow:0 18px 50px rgba(0,0,0,.4);
	/* Изображение остаётся открытым до кнопки закрытия или внешнего действия. */
	cursor:default;
	text-align:center;
}
.nwa-fc__zoom[hidden]{display:none}
.nwa-fc__zoom-img{
	display:block;
	width:100%;
	height:auto;
	max-height:calc(100vh - 110px);
	object-fit:contain;
	border-radius:8px;
	background:var(--rc-page);
}
.nwa-fc__zoom-name{
	display:block;
	margin-top:0;
	font-size:14px;
	font-weight:700;
	color:var(--rc-text);
}
.nwa-fc__zoom-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.nwa-fc__zoom-head .nwa-fc__btn{height:30px;padding:0 12px;font-size:12px}
.nwa-fc__catalog-foot{
	display:flex;
	justify-content:flex-end;
	margin-top:12px;
}
.nwa-fc__catalog-foot .nwa-fc__btn{height:40px}
.nwa-fc__cards--catalog{
	grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
	gap:12px;
}
.nwa-fc__cards--catalog .nwa-fc__side{padding:10px 10px 12px}
.nwa-fc__side-hint{
	font-size:11px;
	line-height:1.3;
	text-align:center;
	color:var(--rc-dim);
}
/* Линия реза на картинках стороны реза: красный пунктир. Цвет задан явно и
   не наследует currentColor — иначе на выбранной карточке рез перекрасился
   бы в оранжевый и перестал отличаться от контура детали.
   ⚠️ stroke-linecap:butt обязателен: круглые концы из общего правила
   затягивают короткие штрихи, и пунктир превращается в сплошную линию. */
.nwa-fc__side-pic .nwa-fc__cut{
	stroke:var(--rc-danger);
	stroke-dasharray:4 3.5;
	stroke-linecap:butt;
}
/* Ноль по Z — вариантов два, а не три. */
.nwa-fc__cards--two{grid-template-columns:repeat(2,1fr)}
.nwa-fc__cards--machine{margin-bottom:7px}
.nwa-fc__cards--machine .nwa-fc__side{
	min-height:66px;
	justify-content:center;
}
.nwa-fc__tool-no:disabled{
	opacity:.45;
	cursor:not-allowed;
}
/* Фигур пять, и кладём их по три в ряд: в пять столбцов карточка уже
   подписи — «Прямоугольник» вылезал за её край. */
.nwa-fc__cards--five{grid-template-columns:repeat(3,1fr)}
.nwa-fc__cards--five .nwa-fc__side{padding:7px 4px 6px;font-size:11px}
.nwa-fc__cards--five .nwa-fc__side-pic{height:28px}
.nwa-fc__cards--five .nwa-fc__side-name{
	text-align:center;
	line-height:1.2;
	overflow-wrap:anywhere;
}
/* Поля размеров, не относящиеся к выбранной фигуре. Прячем, а не убираем:
   значения остаются в форме и не теряются при переключении. */
.nwa-fc__row.is-type-hidden,
.nwa-fc__row.is-hidden,
.nwa-fc__grid.is-hidden{display:none}
/* Любой блок только для своего типа (подзаголовок, тумблер, сетка полей
   «Классики 1», 24.09.2026) — не только строка. */
[data-type-only].is-type-hidden{display:none}

/* ── Тумблер ───────────────────────────────────────────────────── */
/* Сам флажок скрыт, но НЕ через display:none: так он остаётся в
   порядке обхода с клавиатуры и читается диктором. Видимую часть
   рисует дорожка, состояние приходит от :checked. */
.nwa-fc__switch{
	display:flex;
	align-items:center;
	gap:10px;
	margin:0 0 2px;
	font-size:13px;
	font-weight:600;
	color:var(--rc-text);
	cursor:pointer;
}
.nwa-fc__switch input{
	position:absolute;
	width:1px;
	height:1px;
	opacity:0;
	pointer-events:none;
}
.nwa-fc__switch-track{
	position:relative;
	flex:0 0 auto;
	width:38px;
	height:22px;
	border:1px solid var(--rc-border);
	border-radius:11px;
	background:var(--rc-input);
	transition:background .15s ease, border-color .15s ease;
}
.nwa-fc__switch-track::after{
	content:"";
	position:absolute;
	top:3px;
	left:3px;
	width:14px;
	height:14px;
	border-radius:50%;
	background:var(--rc-dim);
	transition:transform .15s ease, background .15s ease;
}
.nwa-fc__switch input:checked + .nwa-fc__switch-track{
	border-color:var(--rc-orange);
	background:var(--rc-orange-soft);
}
.nwa-fc__switch input:checked + .nwa-fc__switch-track::after{
	transform:translateX(16px);
	background:var(--rc-orange);
}
.nwa-fc__switch input:focus-visible + .nwa-fc__switch-track{border-color:var(--rc-orange)}
/* Per-part grain direction: off allows the existing automatic 0°/90° choice. */
:is(.nwa-fc__texture-switch,.nwa-fc__parts-mode-switch){justify-content:center;height:32px;margin:0}
:is(.nwa-fc__texture-switch,.nwa-fc__parts-mode-switch) .nwa-fc__switch-track{width:42px;height:24px;border-color:#929DAA;border-radius:14px;background:#B6C0CC}
:is(.nwa-fc__texture-switch,.nwa-fc__parts-mode-switch) .nwa-fc__switch-track::after{top:2px;left:2px;width:18px;height:18px;background:#FFF;box-shadow:0 1px 3px rgba(0,0,0,.12)}
:is(.nwa-fc__texture-switch,.nwa-fc__parts-mode-switch) input:checked + .nwa-fc__switch-track{background:var(--rc-orange);border-color:var(--rc-orange)}
:is(.nwa-fc__texture-switch,.nwa-fc__parts-mode-switch) input:checked + .nwa-fc__switch-track::after{transform:translateX(18px);background:#FFF}
:is(.nwa-fc__texture-switch,.nwa-fc__parts-mode-switch) input:focus-visible + .nwa-fc__switch-track{outline:2px solid var(--rc-orange);outline-offset:3px}
/* Подпись под карточками: получившиеся числа Z. Скрипт пишет её текстом,
   поэтому пустая (до расчёта) она не должна занимать место. */
.nwa-fc__hint{
	margin:8px 0 0;
	font-size:12px;
	line-height:1.45;
	color:var(--rc-dim);
}
.nwa-fc__hint:empty{display:none}

/* ── Предпросмотр ──────────────────────────────────────────────── */
.nwa-fc__preview{
	padding:18px;
	display:flex;
	flex-direction:column;
	gap:14px;
	min-width:0;
}
.nwa-fc__canvas-wrap{
	position:relative;
	border:1px solid var(--rc-border);
	border-radius:10px;
	background:var(--rc-stage);
	overflow:hidden;
}
.nwa-fc__workspace-nav{position:absolute;top:84px;right:12px;z-index:12;display:flex;flex-direction:column;align-items:stretch;gap:7px;width:142px;padding:6px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(28,28,28,.9);box-shadow:0 6px 18px rgba(0,0,0,.25);backdrop-filter:blur(7px)}
.nwa-fc__workspace-nav button{display:flex;width:100%;height:48px;align-items:center;justify-content:flex-start;gap:8px;padding:0 10px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:rgba(255,255,255,.07);color:#fff;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.nwa-fc__workspace-nav button:hover{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.15);transform:translateY(-1px)}
.nwa-fc__workspace-nav button:focus-visible{outline:2px solid var(--rc-orange);outline-offset:2px}
.nwa-fc__workspace-nav button>span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:6px;background:var(--rc-orange);font-size:15px;font-weight:800}.nwa-fc__workspace-nav button>strong{font-size:11px;white-space:nowrap}
.nwa-fc__stage-actions{position:absolute;top:319px;right:12px;z-index:12;display:flex;width:142px;flex-direction:column;flex-wrap:nowrap;gap:7px;padding:6px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(28,28,28,.9);box-shadow:0 6px 18px rgba(0,0,0,.25);backdrop-filter:blur(7px)}
.nwa-fc__stage-actions .nwa-fc__act{flex:0 0 auto;width:100%;min-height:46px;height:auto;padding:9px 8px;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff !important;font-size:11px;font-weight:700;line-height:1.25;white-space:normal}
.nwa-fc__stage-actions .nwa-fc__btn--primary{border-color:var(--rc-orange);background:var(--rc-orange)}
.nwa-fc__stage-actions .nwa-fc__act:not(:disabled):hover{border-color:var(--rc-orange) !important;background:var(--rc-orange) !important;color:#fff !important}
.nwa-fc__stage-actions .nwa-fc__btn:disabled{opacity:1;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.055);color:rgba(255,255,255,.72) !important;cursor:not-allowed}
.nwa-fc__stage-actions #nwa-fc-download{border-color:var(--rc-orange);background:var(--rc-orange);color:#fff !important}
.nwa-fc__stage-actions #nwa-fc-download:disabled{opacity:.55;border-color:var(--rc-orange);background:var(--rc-orange);color:#fff !important}
.nwa-fc__stage-actions .nwa-fc__speed{flex:0 0 auto;width:100%;min-height:64px;padding:7px 8px 6px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:rgba(255,255,255,.07)}
.nwa-fc__stage-actions .nwa-fc__speed-label{font-size:10px;color:#fff}.nwa-fc__stage-actions .nwa-fc__speed-value{font-size:10px;color:#fff}
.nwa-fc__stage-actions .nwa-fc__metrics{display:grid;width:100%;grid-template-columns:1fr;gap:6px;margin-top:2px}
.nwa-fc__stage-actions .nwa-fc__metric{padding:7px 8px;border-color:rgba(255,255,255,.15);border-radius:7px;background:rgba(255,255,255,.07)}
.nwa-fc__stage-actions .nwa-fc__metric-label{font-size:9px;line-height:1.25;color:rgba(255,255,255,.66)}
.nwa-fc__stage-actions .nwa-fc__metric-value{margin-top:2px;font-size:15px;line-height:1.1;color:#fff}
.nwa-fc__stage-job{position:absolute;top:8px;right:12px;z-index:13;display:grid;width:142px;grid-template-columns:1fr;gap:4px}
.nwa-fc__stage-job button{display:flex;min-width:0;height:32px;align-items:center;justify-content:center;padding:0 7px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:rgba(28,28,28,.92);color:rgba(255,255,255,.86);font:700 11px/1.1 inherit;cursor:pointer}
.nwa-fc__stage-job button:hover{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.13)}
.nwa-fc__stage-job button.is-active{border-color:var(--rc-orange);background:var(--rc-orange);color:#fff}
.nwa-fc__stage-job button:focus-visible{outline:2px solid #fff;outline-offset:1px}
.nwa-fc__sheet-switch{
	position:absolute;
	top:12px;
	left:12px;
	right:170px;
	z-index:8;
	dis:flex;
	gap:5px;
	overflow-x:auto;
	padding:4px;
	border:1px solid rgba(255,255,255,.18);
	border-radius:9px;
	background:rgba(28,28,28,.84);
	box-shadow:0 4px 14px rgba(0,0,0,.2);
	scrollbar-width:thin;
}
.nwa-fc__sheet-switch[hidden]{display:none}
.nwa-fc__sheet-btn{
	flex:0 0 auto;
	height:30px;
	padding:0 10px;
	border:1px solid rgba(255,255,255,.24);
	border-radius:6px;
	background:rgba(255,255,255,.08);
	color:#FFFFFF;
	font-family:inherit;
	font-size:11px;
	font-weight:700;
	cursor:pointer;
}
.nwa-fc__sheet-btn:hover{background:rgba(255,255,255,.16)}
.nwa-fc__sheet-btn.is-active{
	border-color:var(--rc-orange);
	background:var(--rc-orange);
	color:#FFFFFF;
}
.nwa-fc__canvas{
	display:block;
	width:100%;
	height:auto;
	/* Пальцем по холсту двигаем камеру, а не страницу: без этого браузер
	   телефона забирал жест себе и прокручивал страницу. */
	touch-action:none;
}
.nwa-fc__webgl{
	position:absolute;
	inset:0;
	z-index:2;
	display:block;
	width:100%;
	height:100%;
	touch-action:none;
	background:transparent;
	cursor:grab;
}
.nwa-fc__webgl[hidden]{display:none}
.nwa-fc__canvas.is-dragging,.nwa-fc__webgl.is-dragging{cursor:grabbing}

/* Координаты текущего кадра УП. Плашка показывает не декоративный прогресс,
   а фактические X/Y/Z интерполированной точки и режим G0/G1. */
.nwa-fc__motion{
	position:absolute;
	top:12px;
	left:12px;
	display:flex;
	align-items:center;
	gap:9px;
	padding:7px 10px 7px 7px;
	border:1px solid rgba(255,255,255,.13);
	border-radius:10px;
	background:rgba(17,17,17,.72);
	box-shadow:0 8px 24px rgba(0,0,0,.16);
	color:rgba(255,255,255,.88);
	font:600 11px/1.2 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
	letter-spacing:.01em;
	pointer-events:none;
	backdrop-filter:blur(5px);
}
.nwa-fc__motion[hidden]{display:none}
.nwa-fc__motion-mode{
	min-width:25px;
	padding:4px 6px;
	border-radius:6px;
	background:var(--rc-orange);
	color:var(--rc-text);
	text-align:center;
}
.nwa-fc__motion-mode.is-rapid{background:var(--rc-orange)}
.nwa-fc__motion-progress{
	padding-left:8px;
	border-left:1px solid rgba(255,255,255,.18);
	color:#FFFFFF;
}

/* Камера анимации (19.09.2026) — кнопки поверх сцены, слева сверху.
   Полупрозрачная тёмная подложка: на светлом полу и на тёмной стене кнопки
   одинаково читаются. */
.nwa-fc__cam{
	position:absolute;
	top:12px;
	left:268px;
	right:auto;
	display:flex;
	gap:4px;
	padding:4px;
	border-radius:10px;
	background:rgba(17,17,17,.62);
}
.nwa-fc__cam[hidden]{display:none}
.nwa-fc__cam-btn{
	min-width:34px;
	height:34px;
	padding:0 10px;
	border:0;
	border-radius:7px;
	background:rgba(255,255,255,.08);
	color:#FFFFFF;
	font-size:18px;
	font-weight:600;
	line-height:34px;
	cursor:pointer;
}
.nwa-fc__cam-btn--text{font-size:12px}
.nwa-fc__cam-btn:hover{background:var(--rc-orange)}
.nwa-fc__cam-btn:focus-visible{outline:2px solid var(--rc-orange);outline-offset:1px}
/* Плашка статуса лежит поверх тёмной сцены, поэтому всегда залита цветом
   и белым текстом. Базовый вид синий: это нейтральные сообщения. Состояния
   ниже меняют только цвет; «Параметры изменены» и «расчёт готов» намеренно
   того же синего цвета — плашка меняет текст, не цвет. Красный оставлен
   ошибке: единственное, что должно бросаться в глаза. */
.nwa-fc__status{
	position:absolute;
	left:12px;
	bottom:12px;
	padding:5px 10px;
	border:1px solid var(--rc-blue);
	border-radius:999px;
	background:var(--rc-blue);
	font-size:12px;
	font-weight:600;
	color:#FFFFFF;
	pointer-events:none;
}
.nwa-fc__status--warn,
.nwa-fc__status--ok{
	border-color:var(--rc-blue);
	background:var(--rc-blue);
}
.nwa-fc__status--bad{
	border-color:var(--rc-danger);
	background:var(--rc-danger);
}
.nwa-fc__metrics{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
	align-items:stretch;
}
.nwa-fc__metric{
	padding:10px 14px;
	border:1px solid var(--rc-border);
	border-radius:10px;
	background:var(--rc-panel);
	min-width:0;
}
.nwa-fc__metric-label{
	display:block;
	font-size:12px;
	color:var(--rc-dim);
}
.nwa-fc__metric-value{
	display:block;
	margin-top:3px;
	font-size:20px;
	font-weight:700;
	color:var(--rc-text);
	line-height:1.15;
}
.nwa-fc__actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.nwa-fc__act{flex:1 1 200px}
/* Двустороннее воспроизведение, как в симуляторе CIMCO: линейка с частыми
   рисками находится над отдельной дорожкой, центр останавливает ход, вправо
   траектория идёт вперёд, влево — назад. */
.nwa-fc__speed{
	display:block;
	margin:0;
	flex:1 1 190px;
}
.nwa-fc__speed-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
}
.nwa-fc__speed-label{
	font-size:13px;
	color:var(--rc-dim);
	white-space:nowrap;
}
.nwa-fc__speed-value{
	font-size:13px;
	font-weight:800;
	color:var(--rc-text);
	font-variant-numeric:tabular-nums;
}
.nwa-fc__speed-control{
	display:block;
	position:relative;
	margin-top:4px;
	padding:3px 7px 2px;
	border:0;
	background:transparent;
}
.nwa-fc__speed-ticks{
	position:absolute;
	left:9px;
	right:9px;
	top:3px;
	height:7px;
	background-image:
		linear-gradient(90deg,rgba(255,255,255,.68) 0 1px,transparent 1px),
		linear-gradient(90deg,#fff 0 1px,transparent 1px);
	background-position:left bottom;
	background-repeat:repeat-x;
	background-size:5% 3px,10% 6px;
	pointer-events:none;
}
.nwa-fc__speed-ticks::before,
.nwa-fc__speed-ticks::after{
	content:"";
	position:absolute;
	top:0;
	width:0;
	height:0;
	border-top:2px solid transparent;
	border-bottom:2px solid transparent;
}
.nwa-fc__speed-ticks::before{left:-5px;border-right:4px solid #fff}
.nwa-fc__speed-ticks::after{right:-5px;border-left:4px solid #fff}
.nwa-fc__speed-range{
	display:block;
	width:100%;
	height:18px;
	margin:8px 0 0;
	padding:0;
	border:0;
	background:transparent;
	-webkit-appearance:none;
	appearance:none;
	cursor:pointer;
}
.nwa-fc__speed-range:focus{outline:0}
.nwa-fc__speed-range:focus-visible{outline:2px solid var(--rc-orange);outline-offset:2px;border-radius:2px}
.nwa-fc__speed-range::-webkit-slider-runnable-track{
	height:3px;
	border-radius:1px;
	background:rgba(255,255,255,.58);
}
.nwa-fc__speed-range::-webkit-slider-thumb{
	width:12px;
	height:17px;
	margin-top:-7px;
	border:0;
	border-radius:2px;
	background:var(--rc-orange);
	box-shadow:0 1px 2px rgba(0,0,0,.38);
	clip-path:polygon(50% 0,100% 24%,100% 100%,0 100%,0 24%);
	-webkit-appearance:none;
	appearance:none;
}
.nwa-fc__speed-range::-moz-range-track{height:3px;border:0;border-radius:1px;background:rgba(255,255,255,.58)}
.nwa-fc__speed-range::-moz-range-progress{height:3px;background:transparent}
.nwa-fc__speed-range::-moz-range-thumb{width:12px;height:17px;border:0;border-radius:2px;background:var(--rc-orange);box-shadow:0 1px 2px rgba(0,0,0,.38);clip-path:polygon(50% 0,100% 24%,100% 100%,0 100%,0 24%)}
.nwa-fc__speed-zero{
	position:absolute;
	left:50%;
	top:3px;
	width:2px;
	height:7px;
	background:#fff;
	transform:translateX(-1px);
	pointer-events:none;
}
.nwa-fc__speed-scale{
	display:flex;
	justify-content:space-between;
	margin-top:0;
	font-size:8px;
	line-height:1;
	color:#fff;
	text-shadow:0 1px 1px rgba(0,0,0,.35);
	font-variant-numeric:tabular-nums;
}
.nwa-fc__note{
	margin:0;
	font-size:12px;
	color:var(--rc-dim);
	line-height:1.5;
}
/* Подпись разработчика — подвал всего блока: линия во всю ширину, текст по
   центру. Вид тот же, что у строки в подвале стенда (.nwa-fc-foot): 12px
   обычного веса приглушённым цветом. */
.nwa-fc__sign{
	margin:0;
	padding:12px 14px;
	border-top:1px solid var(--rc-border);
	background:var(--rc-head);
	text-align:center;
	font-size:12px;
	color:var(--rc-dim);
	line-height:1.5;
}

/* ── Кнопки ────────────────────────────────────────────────────── */
.nwa-fc__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:44px;
	padding:0 22px;
	border:1px solid var(--rc-border);
	border-radius:8px;
	background:var(--rc-input);
	color:var(--rc-text) !important;
	font-family:inherit;
	font-size:14px;
	font-weight:600;
	text-decoration:none !important;
	cursor:pointer;
	transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.nwa-fc__btn:hover{
	border-color:var(--rc-border-strong);
	background:var(--rc-hover);
}
.nwa-fc__btn--primary{
	border-color:var(--rc-orange);
	background:var(--rc-orange);
	color:#FFFFFF !important;
}
.nwa-fc__btn--primary:hover{
	background:var(--rc-orange-hover);
	border-color:var(--rc-orange-hover);
	color:#FFFFFF !important;
}
.nwa-fc__btn[disabled]{
	opacity:.55;
	cursor:not-allowed;
}

/* ── Вход и сохранение настроек (владелец, 25.09.2026) ──────────── */
/* Гость видит приглашение войти вместо формы. */
.nwa-fc__guest{
	margin:6px 0 4px;
	padding:32px 24px;
	border:1px solid var(--rc-border);
	border-radius:12px;
	background:var(--rc-panel);
	text-align:center;
}
.nwa-fc__guest-lead{
	margin:0 0 8px;
	font-size:17px;
	font-weight:700;
	color:var(--rc-text);
}
.nwa-fc__guest-text{
	margin:0 0 20px;
	font-size:14px;
	line-height:1.5;
	color:var(--rc-dim);
}
.nwa-fc__guest-actions{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px;
}
.nwa-fc__guest-actions .nwa-fc__btn{min-width:170px}

/* «Сохранить настройки» — в шапке, на месте значка «G-код · ЧПУ» и в его
   облике (владелец, 25.09.2026). Слева от кнопки — короткая отметка. */
.nwa-fc__head-save{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	gap:10px;
}
.nwa-fc__head-save-btn{
	padding:6px 14px;
	border:1px solid var(--rc-orange);
	border-radius:999px;
	background:var(--rc-neutral-soft);
	font-family:inherit;
	font-size:12px;
	font-weight:600;
	letter-spacing:.04em;
	color:var(--rc-orange-text);
	white-space:nowrap;
	cursor:pointer;
	transition:background .15s ease, color .15s ease;
}
.nwa-fc__head-save-btn:hover{
	background:var(--rc-orange);
	color:#FFFFFF;
}
.nwa-fc__head-save-btn.is-done{
	border-color:var(--rc-border);
	background:var(--rc-page);
	color:var(--rc-text);
}
.nwa-fc__save-note{
	font-size:12px;
	line-height:1.4;
	color:var(--rc-dim);
	white-space:nowrap;
}
.nwa-fc__save-note.is-ok{color:var(--rc-text)}
.nwa-fc__save-note.is-bad{color:var(--rc-danger); white-space:normal}
@media (max-width:600px){
	.nwa-fc__head{flex-wrap:wrap}
	.nwa-fc__save-note{white-space:normal}
}

/* ── Адаптив ───────────────────────────────────────────────────── */
@media (max-width:991px){
	.nwa-fc__layout{grid-template-columns:1fr}
	.nwa-fc__panel{
		border-right:0;
		border-bottom:1px solid var(--rc-border);
	}
	.nwa-fc__stage-job{right:10px;width:132px}
	.nwa-fc__workspace-nav{top:84px;left:auto;right:10px;width:132px}.nwa-fc__workspace-nav button{flex:0 0 auto}
	.nwa-fc__stage-actions{top:319px;right:10px;width:132px}
	.nwa-fc__settings-tool{grid-template-columns:58px minmax(140px,1fr) 68px repeat(2,minmax(110px,1fr))}.nwa-fc__settings-tool label:last-child{grid-column:4/6}
}
@media (max-width:575px){
	.nwa-fc__head{
		flex-direction:column;
		align-items:flex-start;
		gap:10px;
	}
	.nwa-fc__row{grid-template-columns:1fr 104px;gap:8px}
	.nwa-fc__metrics{grid-template-columns:1fr 1fr}
	.nwa-fc__motion{
		top:58px;
		right:12px;
		justify-content:center;
		gap:7px;
		font-size:10px;
	}
	.nwa-fc__cam{top:104px;left:12px;right:auto}
	.nwa-fc__settings-tabs{grid-template-columns:1fr}.nwa-fc__settings-tab{min-height:58px}
	.nwa-fc__sheet-settings-visual,.nwa-fc__settings-machine-grid{grid-template-columns:1fr}
	.nwa-fc__settings-job,.nwa-fc__settings-machine-modes{grid-template-columns:1fr}
	.nwa-fc__settings-tool{grid-template-columns:58px 1fr}.nwa-fc__settings-tool-name{grid-column:auto}.nwa-fc__settings-tool label{grid-column:1/3}.nwa-fc__settings-tool label:last-child{grid-column:1/3}
	.nwa-fc__stage-job{width:116px}.nwa-fc__workspace-nav{top:82px;width:116px}.nwa-fc__workspace-nav button{height:42px;padding:0 8px}.nwa-fc__workspace-nav button>strong{font-size:10px}.nwa-fc__workspace-nav button>span{width:22px;height:22px}
	.nwa-fc__stage-actions{top:293px;width:116px}
}

/* ── Страница в обвязке магазина ────────────────────────────────
   Блок инструмента лежит в #content обычной страницы, между панелью
   nwa_topbar.twig и подвалом магазина. Здесь только отступы вокруг: всё
   оформление самого блока выше по файлу.

   Правила намеренно привязаны к body.nwa-page. Класс ставит uni_new_data.php
   по маршруту tool/nwa_facade, и по нему же header.twig подключает панель:
   нет класса — нет ни панели, ни этих отступов, и это видно сразу. */
body.nwa-page .nwa-fc-page{
	padding-top:26px;
	padding-bottom:34px;
}
/* Нижний отступ у блока был рассчитан на соседей внутри .nwa-fc-main прежней
   страницы. Здесь под ним сразу подвал, и разрыв задаёт контейнер выше. */
body.nwa-page .nwa-fc-page .nwa-fc{
	margin-bottom:0;
}
@media (max-width:767px){
	body.nwa-page .nwa-fc-page{
		padding-top:16px;
		padding-bottom:24px;
	}
}

/* ── Цена файла под кнопками (25.09.2026) ─────────────────────────
   Скачивание: 3 бесплатных в день, дальше баллы (download_quota.php).
   Подсказку под кнопками пишет скрипт (downloadNote): что будет при
   скачивании и что случилось после. Число — жирным, «Пополнить баллы» —
   ссылкой: кнопки в ряду не удлиняются, раскладка на телефоне та же. */
.nwa-fc__note strong{
	color:var(--rc-text);
	font-weight:600;
	white-space:nowrap;
}
.nwa-fc__note a{
	color:var(--rc-orange-text);
	font-weight:600;
	text-decoration:underline;
}
.nwa-fc__note.is-short strong{color:var(--rc-orange-text)}
/* ── Всплывашка над «Скачать .nc» (25.09.2026) ─────────────────────
   «Скачать за N баллов» / «Пополнить баллы» + «Отмена» — только кнопки,
   без текста (владелец). Её ставит скрипт (showDialog) в ряд кнопок и
   сам считает отступы от кнопки «Скачать .nc»; ряду нужен relative. */
.nwa-fc__dlg-host{position:relative}
.nwa-fc__dlg{
	position:absolute;
	z-index:50;
	display:none;
	gap:8px;
	padding:10px;
	border:1px solid var(--rc-border);
	border-radius:12px;
	background:var(--rc-panel);
	box-shadow:0 12px 32px rgba(0,0,0,.28);
	white-space:nowrap;
}
.nwa-fc__dlg.is-open{display:flex}
.nwa-fc__dlg::after{
	content:'';
	position:absolute;
	right:var(--dlg-arrow, 24px);
	bottom:-7px;
	width:12px;
	height:12px;
	background:var(--rc-panel);
	border-right:1px solid var(--rc-border);
	border-bottom:1px solid var(--rc-border);
	transform:rotate(45deg);
}

.nwa-fc__parts th:nth-child(5),.nwa-fc__parts td:nth-child(5){width:190px}
.nwa-fc__material-card{display:grid;gap:8px;padding:9px;border:1px solid var(--rc-border);border-radius:7px;background:#fff}
#nwa-fc-material-settings,#nwa-fc-material-scraps{display:grid;gap:9px}
.nwa-fc__material-card>strong{font-size:12px;overflow-wrap:anywhere;color:var(--rc-text)}
.nwa-fc__material-card .nwa-fc__layout-settings-check{grid-column:1/-1}
.nwa-fc__material-modal{position:fixed;inset:0;z-index:100110;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.38)}
.nwa-fc__material-box{width:min(440px,90vw);padding:22px;border-radius:12px;background:#fff;box-shadow:0 16px 70px #0005}
.nwa-fc__material-box h3{margin:0 0 16px}
.nwa-fc__material-box label{display:grid;gap:7px}.nwa-fc__material-box label input{height:40px}
.nwa-fc__material-box>p{min-height:18px;color:var(--rc-orange-text);font-size:12px}.nwa-fc__material-box>div{display:flex;justify-content:flex-end;gap:8px}
.nwa-fc__material-modal[hidden],#nwa-fc-material-scraps label[hidden],.nwa-fc__layout-settings-grid[hidden],.nwa-fc__layout-scraps>div[hidden],.nwa-fc__layout-tabs[hidden],#nwa-fc-layout-recut[hidden]{display:none!important}

/* Sheet navigation and one information strip, as requested by the owner. */
.nwa-fc__layout-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:7px 10px;border:1px solid var(--rc-border);border-radius:8px;background:var(--rc-page);flex:0 0 auto}
.nwa-fc__layout-info .nwa-fc__layout-validation{margin:0;padding:4px 0;min-height:20px;background:transparent;font-size:12px;line-height:1.35}
.nwa-fc__layout-info .nwa-fc__layout-validation.is-bad{color:var(--rc-orange-text)}
.nwa-fc__layout-info .nwa-fc__layout-help{margin:0;color:var(--rc-dim);font-size:11px;line-height:1.4;max-width:480px}
.nwa-fc__layout-help summary{cursor:pointer;padding:4px 0;white-space:nowrap;font-weight:600}
.nwa-fc__layout-help p{margin:5px 0 0}
.nwa-fc__layout-board-stage{display:flex;flex-direction:column}
.nwa-fc__layout-board-stage>.nwa-fc__layout-tabs{display:flex;flex:0 0 auto;gap:5px;min-height:39px;max-height:none;align-items:center;margin:0;padding:5px 8px;border-bottom:1px solid var(--rc-border);background:var(--rc-page);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.nwa-fc__layout-tab{flex:0 0 auto;padding:6px 13px;border:1px solid var(--rc-border);border-radius:5px;background:#fff;color:var(--rc-text);font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer}
.nwa-fc__layout-tab.is-viewed{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-orange-text)}
.nwa-fc__layout-material-select{flex:0 0 auto;max-width:310px;min-width:180px;height:30px;padding:4px 27px 4px 9px;border:1px solid var(--rc-border);border-radius:5px;background:#fff;color:var(--rc-text);font:600 12px/1.3 sans-serif}
.nwa-fc__layout-heading{display:flex;flex-wrap:wrap;align-items:center;gap:7px 20px;min-width:0}
.nwa-fc__layout-head-summary{margin:0;color:var(--rc-dim);font:600 12px/1.35 sans-serif}
.nwa-fc__layout-board-stage>.nwa-fc__layout-board{flex:1 1 0;min-height:0;height:0}
@media(max-width:767px){.nwa-fc__layout-info{grid-template-columns:1fr}.nwa-fc__layout-board-stage>.nwa-fc__layout-board{height:52vh;min-height:300px;flex:none}}


/* Three persistent workspaces share the original machine-view dimensions. */
.nwa-fc__workflow{display:flex;flex-direction:column;margin:18px;height:700px;min-width:0;border:0;border-radius:8px;outline:1px solid var(--rc-border);outline-offset:-1px;overflow:hidden;background:var(--rc-bg);box-sizing:border-box}
.nwa-fc__workflow-head{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:0 12px 0 0;background:var(--rc-page);border:0;border-bottom:1px solid var(--rc-border-strong)}
.nwa-fc__workflow-tabs{position:relative;z-index:2;display:flex;align-self:stretch;gap:0;min-height:54px}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]){position:relative;display:flex;align-items:center;justify-content:center;min-width:150px;margin:0;padding:13px 24px;border:0;border-radius:12px 12px 0 0;background:transparent;color:var(--rc-dim);font-family:inherit;font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap;cursor:pointer}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]):hover{background:transparent;color:var(--rc-text)}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab])::after{content:"";position:absolute;right:0;top:12px;width:1px;height:22px;background:var(--rc-border);pointer-events:none}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]):last-child::after,.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]):has(+[aria-selected="true"])::after{display:none}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab])[aria-selected="true"]{z-index:2;isolation:isolate;background:transparent;color:var(--rc-text);box-shadow:none}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab])[aria-selected="true"]::before{content:"";position:absolute;z-index:-1;inset:0 -12px -1px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20174%2042%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2042Q12.5%2042%2012.5%2033.5V8Q12.5%200.5%2020%200.5H154Q161.5%200.5%20161.5%208V33.5Q161.5%2042%20174%2042Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3Cpath%20d%3D%22M0%2041.5Q12.5%2041.5%2012.5%2033.5V8Q12.5%200.5%2020%200.5H154Q161.5%200.5%20161.5%208V33.5Q161.5%2041.5%20174%2041.5%22%20fill%3D%22none%22%20stroke%3D%22%23BFBFBF%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab])[aria-selected="true"]::after{display:none}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]):focus-visible{outline:2px solid var(--rc-orange);outline-offset:-4px}
.nwa-fc__workflow-tools{display:flex;align-items:center;gap:14px;padding-bottom:8px}
.nwa-fc__workflow-tools .nwa-fc__stage-job{position:static;display:flex;width:auto;gap:3px;z-index:auto}
.nwa-fc__workflow-tools .nwa-fc__stage-job button{height:32px;padding:0 12px;border-color:var(--rc-border);background:#fff;color:var(--rc-dim)}
.nwa-fc__workflow-tools .nwa-fc__stage-job button.is-active{border-color:var(--rc-orange);background:var(--rc-orange);color:#fff}
.nwa-fc__workflow-tools .nwa-fc__workspace-nav{position:static;display:flex;flex-direction:row;width:auto;gap:5px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;z-index:auto}
.nwa-fc__workflow-tools .nwa-fc__workspace-nav button{height:32px;width:auto;padding:0 9px;gap:6px;border-color:var(--rc-border);background:#fff;color:var(--rc-text);transform:none}
.nwa-fc__workflow-tools .nwa-fc__workspace-nav button:hover{border-color:var(--rc-orange);background:var(--rc-page)}
.nwa-fc__workflow-tools .nwa-fc__workspace-nav button>span{width:20px;height:20px;font-size:13px;color:#fff}
.nwa-fc__workflow-status{flex:1 1 0;min-width:0;margin:0;padding:0;border:0;background:none;color:var(--rc-dim);font-size:12px;line-height:1.4}
.nwa-fc__workflow-status.is-bad{color:var(--rc-orange-text)}.nwa-fc__workflow-status.is-warn{color:var(--rc-orange-text)}
.nwa-fc__workflow-status[hidden],.nwa-fc__workflow-panel[hidden]{display:none!important}
.nwa-fc__workflow-panels{flex:1 1 0;min-width:0;min-height:0;overflow:clip;border:0;border-radius:0;background:var(--rc-bg)}
.nwa-fc__workflow-panels>.nwa-fc__workflow-panel{height:100%;min-height:0;box-sizing:border-box}
.nwa-fc__workflow-panels>.nwa-fc__catalog{position:relative;inset:auto;z-index:auto;display:block;padding:0;background:none}
.nwa-fc__workflow-panels>.nwa-fc__catalog>.nwa-fc__catalog-box{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;max-height:none;box-sizing:border-box;padding:18px 20px;border-radius:0;box-shadow:none;overflow:hidden}
.nwa-fc__workflow-panels .nwa-fc__catalog-head,.nwa-fc__workflow-panels .nwa-fc__parts-file-actions,.nwa-fc__workflow-panels .nwa-fc__parts-import-status,.nwa-fc__workflow-panels .nwa-fc__parts-template-hint{flex:0 0 auto}
.nwa-fc__workflow-panels .nwa-fc__parts-dialog .nwa-fc__parts-wrap{flex:1 1 0;min-height:0;max-height:none;overflow:auto}
.nwa-fc__workflow-panels .nwa-fc__parts{min-width:1040px}
.nwa-fc__workflow-panels .nwa-fc__parts-dialog .nwa-fc__catalog-foot{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto}
.nwa-fc__workflow-parts-summary{font-size:12px;color:var(--rc-dim)}
.nwa-fc__workflow-panels>.nwa-fc__preview{padding:0;gap:0}
.nwa-fc__workflow-panels .nwa-fc__canvas-wrap{flex:1 1 0;min-height:0;border:0;border-radius:0}
.nwa-fc__workflow-panels .nwa-fc__canvas{position:absolute;inset:0;width:100%;height:100%!important}
.nwa-fc__workflow-panels .nwa-fc__stage-actions{top:12px;border-color:var(--rc-border);background:var(--rc-page);box-shadow:0 3px 12px #0002;backdrop-filter:none}
.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__act,.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__speed,.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__metric{border-color:var(--rc-border);background:#fff;color:var(--rc-text)!important}
.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__btn--primary,.nwa-fc__workflow-panels .nwa-fc__stage-actions #nwa-fc-download{border-color:var(--rc-orange);background:var(--rc-orange);color:#fff!important}
.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__btn:disabled{opacity:.5}
.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__speed-label,.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__speed-value,.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__metric-value{color:var(--rc-text)}
.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__metric-label,.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__speed-scale{color:var(--rc-dim)}
.nwa-fc__workflow-panels .nwa-fc__stage-actions .nwa-fc__speed-ticks{filter:brightness(.35)}
.nwa-fc__workflow-panels .nwa-fc__note{flex:0 0 auto;margin:0;padding:10px 18px}
.nwa-fc__workflow-panels .nwa-fc__layout-workspace{flex:1 1 0;height:auto;min-height:0}
.nwa-fc__workflow-panels .nwa-fc__layout-board-stage{height:100%;min-height:0}
.nwa-fc__workflow-panels .nwa-fc__layout-inspector{height:100%;max-height:none;min-height:0;overflow:hidden}
.nwa-fc__workflow-panels .nwa-fc__layout-buffer{flex:0 1 32%;height:auto;min-height:96px;max-height:320px}
.nwa-fc__workflow-panels .nwa-fc__layout-info{flex:0 0 auto}
@media(min-width:1100px){.nwa-fc__workflow-panels .nwa-fc__parts{min-width:0}}
@media(max-width:1100px){.nwa-fc__workflow-head{gap:8px}.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]){padding:12px 15px}.nwa-fc__workflow-tools{gap:8px}.nwa-fc__workflow-tools .nwa-fc__workspace-nav button>span{display:none}}
@media(max-width:760px){.nwa-fc__workflow{margin:10px}.nwa-fc__workflow-head{padding:8px 12px 0}.nwa-fc__workflow-tabs{width:100%;order:2;gap:3px;min-height:44px}.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]){flex:1;min-width:0;justify-content:center;gap:5px;padding:10px 5px;font-size:12px}.nwa-fc__workflow-tools{width:100%;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-bottom:0}.nwa-fc__workflow-tools .nwa-fc__workspace-nav button{padding:0 6px}.nwa-fc__workflow-panels>.nwa-fc__catalog>.nwa-fc__catalog-box{padding:12px}.nwa-fc__workflow-panels .nwa-fc__layout-workspace{display:flex;flex-direction:column;overflow:auto}.nwa-fc__workflow-panels .nwa-fc__layout-board-wrap{flex:0 0 370px;min-height:370px}.nwa-fc__workflow-panels .nwa-fc__layout-board-stage{height:100%}.nwa-fc__workflow-panels .nwa-fc__layout-board{flex:1 1 0;height:0;min-height:0}.nwa-fc__workflow-panels .nwa-fc__layout-inspector{flex:0 0 auto;height:auto;overflow:visible}.nwa-fc__workflow-panels .nwa-fc__layout-buffer{flex:none;height:180px}.nwa-fc__workflow-panels .nwa-fc__stage-actions{width:125px;right:8px}.nwa-fc__workflow-panels .nwa-fc__parts-template-hint{font-size:10px}}

.nwa-fc__workflow-tabs{list-style:none;margin:0;padding:0}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]){user-select:none}
.nwa-fc__parts-mode{display:flex;flex:0 0 auto;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 16px;padding:12px;border:1px solid var(--rc-border);border-radius:7px;background:var(--rc-page)}
.nwa-fc__parts-mode>strong{font-size:12px;color:var(--rc-text)}
.nwa-fc__parts-mode .nwa-fc__stage-job{position:static;display:flex;gap:5px;width:auto;z-index:auto}
.nwa-fc__parts-mode .nwa-fc__stage-job button{min-width:125px;height:34px;border-color:var(--rc-border);background:#fff;color:var(--rc-text)}
.nwa-fc__parts-mode .nwa-fc__stage-job button.is-active{border-color:var(--rc-orange);background:var(--rc-orange);color:#fff}
.nwa-fc__workflow-back{flex:0 0 auto;margin-right:14px}
.nwa-fc__workflow-panels .nwa-fc__layout-heading{flex:1 1 auto}
.nwa-fc__workflow-panels .nwa-fc__cam{top:60px;left:12px;right:auto;z-index:12}
.nwa-fc__workflow-panels .nwa-fc__parts-mode .nwa-fc__stage-job button:focus-visible{outline-color:var(--rc-orange)}

/* Interface palette: white, neutral grey and orange. */
.nwa-fc :is(input,select,textarea,button){accent-color:var(--rc-orange)}
.nwa-fc__part-profile.is-cut-only{border-color:var(--rc-border);background:var(--rc-input);color:var(--rc-text)}
.nwa-fc__part-profile.is-custom,.nwa-fc__part-pattern.is-active{border-color:var(--rc-orange);background:var(--rc-page);color:var(--rc-orange-text)}

/* Shared settings window and compact Chrome-style tabs (24.10.2026). */
.nwa-fc .nwa-fc__workflow-head{padding:0 12px 0 0}
.nwa-fc .nwa-fc__workflow-tabs{min-height:41px}
.nwa-fc .nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]){height:41px;min-height:41px;padding:0 24px;align-items:center}
.nwa-fc .nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab])::after{top:11px;height:20px}
.nwa-fc .nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab])[aria-selected="true"]::after{display:none}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]):first-child[aria-selected="true"]::before{left:0;clip-path:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20162%2042%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2042V8Q0%20.5%208%20.5H142Q149.5%20.5%20149.5%208V33.5Q149.5%2042%20162%2042Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M8%20.5H142Q149.5%20.5%20149.5%208V33.5Q149.5%2041.5%20162%2041.5%22%20fill%3D%22none%22%20stroke%3D%22%23BFBFBF%22%20vector-effect%3D%22non-scaling-stroke%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
.nwa-fc--portal .nwa-fc__catalog-box.nwa-fc__settings-dialog-box{width:min(1180px,calc(100vw - 32px));padding:18px 20px 16px;overflow:hidden}
.nwa-fc__settings-dialog-box>.nwa-fc__catalog-head{flex:0 0 auto;margin-bottom:14px}
.nwa-fc__settings-workflow{flex:1 1 0;height:auto;min-height:0;margin:0}
.nwa-fc__settings-panels{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain}
.nwa-fc__settings-panels>.nwa-fc__settings-panel{min-height:100%;padding:18px 20px}
.nwa-fc__settings-panels .nwa-fc__settings-tools{max-height:none;overflow:visible;padding:0}
.nwa-fc__settings-panels .nwa-fc__catalog-inline{position:static;inset:auto;display:block;padding:0;background:none}
.nwa-fc__settings-panels .nwa-fc__catalog-inline[hidden]{display:none}
.nwa-fc--portal .nwa-fc__settings-panels .nwa-fc__catalog-inline>.nwa-fc__catalog-box{display:block;width:100%;height:auto;min-height:0;max-height:none;padding:0;overflow:visible;box-shadow:none;border-radius:0}
.nwa-fc__catalog-inline .nwa-fc__catalog-close{display:none}
.nwa-fc__settings-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:14px}
.nwa-fc__settings-footer>[data-save-note]{flex:1 1 200px;font-size:12px}
@media(max-width:760px){.nwa-fc .nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]){min-width:0;padding:0 8px}.nwa-fc__settings-workflow .nwa-fc__workflow-head{padding-top:0;padding-left:0}.nwa-fc__settings-panels>.nwa-fc__settings-panel{padding:14px}.nwa-fc__settings-footer .nwa-fc__btn{flex:1 1 auto}}

/* Details toolbar: file, sheet job, individual jobs, centered heading. */
.nwa-fc__workflow{position:relative;outline:0}
.nwa-fc__workflow::after{content:"";position:absolute;inset:0;z-index:3;border:1px solid var(--rc-border);border-radius:8px;pointer-events:none}
.nwa-fc__parts-dialog .nwa-fc__parts-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px) minmax(0,1fr);align-items:center;gap:12px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid var(--rc-border)}
.nwa-fc__parts-toolbar-actions{display:flex;min-width:0;align-items:center;gap:6px}
.nwa-fc__parts-toolbar-actions .nwa-fc__btn,.nwa-fc__settings-open{display:flex;align-items:center;justify-content:center;min-width:0;min-height:34px;height:34px;padding:2px 6px;font-size:12px;line-height:1.2;text-align:center;white-space:normal}
.nwa-fc__settings-open{min-width:114px}
.nwa-fc__parts-toolbar-actions .nwa-fc__parts-open{flex:0 0 94px;width:94px;padding:4px 8px;gap:5px}
.nwa-fc__parts-toolbar-actions .nwa-fc__parts-append{flex-basis:108px;width:108px}
.nwa-fc__parts-toolbar-actions .nwa-fc__parts-template{flex:0 0 150px;gap:5px}
.nwa-fc__parts-open svg{display:block;flex:0 0 auto}
.nwa-fc__parts-mode-picker{display:flex;flex:0 0 auto;align-items:center;gap:6px}
.nwa-fc__parts-mode-label{flex:0 0 100px;width:100px;cursor:default;pointer-events:none;user-select:none}
.nwa-fc__parts-run.is-active{border-color:var(--rc-orange);background:var(--rc-orange);color:#fff!important}
#nwa-fc-parts-next{flex:0 0 auto;min-width:134px;margin-left:auto}
.nwa-fc__parts-toolbar-title{grid-column:2;min-width:0;text-align:center}
.nwa-fc__parts-toolbar-title .nwa-fc__parts-dialog-sub{margin:4px 0 0;text-align:center}
.nwa-fc__parts-import-status:empty{display:none}
.nwa-fc__profile-fields label{min-width:0;justify-content:flex-end}
.nwa-fc__profile-fields label>span{display:flex;align-items:flex-end;min-height:2.7em;line-height:1.35}
.nwa-fc__profile-fields label>.nwa-fc__input{flex:0 0 auto;margin-top:auto}
@media(max-width:1400px){.nwa-fc__parts-dialog .nwa-fc__parts-toolbar{grid-template-columns:1fr}.nwa-fc__parts-toolbar-title{grid-column:1;grid-row:1}.nwa-fc__parts-toolbar-actions{grid-row:2;justify-content:flex-start;flex-wrap:wrap}.nwa-fc__parts-toolbar-actions .nwa-fc__btn{min-height:34px}}

/* Direct configuration of a known milling type. */
.nwa-fc__catalog-item{display:flex;flex-direction:column;min-width:0;padding-bottom:8px;border:1px solid var(--rc-border);border-radius:8px;background:var(--rc-panel)}
.nwa-fc__catalog-item:has(>.nwa-fc__side.is-active){border-color:var(--rc-orange)}
.nwa-fc__cards--catalog .nwa-fc__catalog-item>.nwa-fc__side{flex:1 1 auto;width:100%;border:0;border-radius:8px 8px 0 0}
.nwa-fc__catalog-item>.nwa-fc__catalog-configure{flex:0 0 auto;justify-content:center;height:30px;min-height:30px;margin:0 10px;padding:4px 8px;font-size:12px}
.nwa-fc__profile-compact .nwa-fc__profile-step[aria-labelledby="nwa-fc-profile-type-title"],.nwa-fc__profile-compact .nwa-fc__profile-step-head,.nwa-fc__profile-compact .nwa-fc__parts-dialog-sub,.nwa-fc__profile-compact .nwa-fc__profile-visual-title{display:none}
.nwa-fc__profile-compact .nwa-fc__profile-step--geometry{padding-top:0;border-top:0}
.nwa-fc__profile-actions>[hidden]{display:none!important}

/* Shared action icons. CSS masks survive dynamic button-label updates. */
.nwa-fc{
--fc-icon-gear:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8.94%2C4.61L10.47%2C4.15L10.78%2C2.07L13.22%2C2.07L13.53%2C4.15L15.06%2C4.61L16.47%2C5.37L18.16%2C4.12L19.88%2C5.84L18.63%2C7.53L19.39%2C8.94L19.85%2C10.47L21.93%2C10.78L21.93%2C13.22L19.85%2C13.53L19.39%2C15.06L18.63%2C16.47L19.88%2C18.16L18.16%2C19.88L16.47%2C18.63L15.06%2C19.39L13.53%2C19.85L13.22%2C21.93L10.78%2C21.93L10.47%2C19.85L8.94%2C19.39L7.53%2C18.63L5.84%2C19.88L4.12%2C18.16L5.37%2C16.47L4.61%2C15.06L4.15%2C13.53L2.07%2C13.22L2.07%2C10.78L4.15%2C10.47L4.61%2C8.94L5.37%2C7.53L4.12%2C5.84L5.84%2C4.12L7.53%2C5.37Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223.3%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-tool:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%205a6%206%200%200%200-7%207L3%2016a3%203%200%200%200%205%205l5-5a6%206%200%200%200%207-7l-4%204-5-5z%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-machine:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2021V4h18v17M7%204v6h10V4M12%2010v6m-2%200h4M3%2021h18M7%2018h10%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-sheet:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M3%2010h18M11%203v18M11%2015h10%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-facade:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%222%22%20width%3D%2214%22%20height%3D%2220%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M8%205h8v14H8z%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-grid:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-play:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m7%203%2014%209-14%209z%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-pause:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%204v16M16%204v16%22%20stroke-width%3D%224%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-check:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m4%2012%205%205L20%206%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-close:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%206%2012%2012M18%206%206%2018%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-download:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2016v5h16v-5%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-save:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%203h13l4%204v14H3V3zM7%203v6h10V3M7%2021v-8h10v8%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-reset:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2010a8%208%200%201%201%201%208M4%204v6h6%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-back:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2012H4m6-6-6%206%206%206%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-next:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h16m-6-6%206%206-6%206%22%2F%3E%3C%2Fsvg%3E");
--fc-icon-focus:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203H3v6m12-6h6v6M3%2015v6h6m12-6v6h-6%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%228%22%20height%3D%228%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E");
}
.nwa-fc :is(.nwa-fc__btn:not(.nwa-fc__parts-open):not(.nwa-fc__layout-history-btn),.nwa-fc__layout-tab,.nwa-fc__sheet-btn,.nwa-fc__cam-btn--text){gap:6px}
.nwa-fc :is(.nwa-fc__btn:not(.nwa-fc__parts-open):not(.nwa-fc__layout-history-btn),.nwa-fc__layout-tab,.nwa-fc__sheet-btn,.nwa-fc__cam-btn--text)::before{content:"";display:inline-block;flex:0 0 15px;width:15px;height:15px;vertical-align:middle;background:currentColor;-webkit-mask:var(--fc-action-icon,var(--fc-icon-check)) center/contain no-repeat;mask:var(--fc-action-icon,var(--fc-icon-check)) center/contain no-repeat;pointer-events:none}
.nwa-fc__settings-open,.nwa-fc__catalog-configure,#nwa-fc-profile-settings-open{--fc-action-icon:var(--fc-icon-gear)}
#nwa-fc-tools-open{--fc-action-icon:var(--fc-icon-tool)}
#nwa-fc-download{--fc-action-icon:var(--fc-icon-download)}
#nwa-fc-parts-template::before{content:none;display:none}
.nwa-fc__excel-icon{display:block;flex:0 0 22px;width:22px;height:22px}
[data-parts-mode-label="sheet"],#nwa-fc-parts-next,#nwa-fc-calc,#nwa-fc-layout-recut,.nwa-fc__layout-tab,.nwa-fc__sheet-btn{--fc-action-icon:var(--fc-icon-sheet)}
[data-parts-mode-label="parts"]{--fc-action-icon:var(--fc-icon-facade)}
#nwa-fc-parts-dialog [data-parts-mode-label="sheet"]::before{flex-basis:22px;width:22px;-webkit-mask-size:100% 100%;mask-size:100% 100%}
#nwa-fc-settings-save,#nwa-fc-pattern-apply{--fc-action-icon:var(--fc-icon-save)}
#nwa-fc-profile-reset{--fc-action-icon:var(--fc-icon-reset)}
.nwa-fc__btn:is([data-sheet-close],[data-pattern-close],[data-zoom-close]),#nwa-fc-profile-cut-only,#nwa-fc-pattern-remove{--fc-action-icon:var(--fc-icon-close)}
[data-workflow-back]{--fc-action-icon:var(--fc-icon-back)}
#nwa-fc-layout-apply{--fc-action-icon:var(--fc-icon-next)}
#nwa-fc-anim{--fc-action-icon:var(--fc-icon-play)}
#nwa-fc-anim[data-animation-state="playing"]{--fc-action-icon:var(--fc-icon-pause)}
.nwa-fc__cam-btn--text{--fc-action-icon:var(--fc-icon-focus)}
.nwa-fc__workflow-tabs :is([data-workflow-step],[data-settings-tab]){gap:7px}
.nwa-fc__tab-icon{flex:0 0 16px;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nwa-fc__parts .nwa-fc__part-profile-icon{display:none}
.nwa-fc__settings-choice{position:relative;padding-left:42px}
.nwa-fc__settings-choice::before{content:"";position:absolute;left:13px;top:18px;width:18px;height:18px;background:currentColor;-webkit-mask:var(--fc-icon-machine) center/contain no-repeat;mask:var(--fc-icon-machine) center/contain no-repeat}

/* Sortable details grid; source row order remains independent of display order. */
.nwa-fc__parts{min-width:1100px}
/* Keep the initial header band while rows scroll behind an opaque surface. */
.nwa-fc__parts thead{position:sticky;top:5px;z-index:4;background:var(--rc-page);box-shadow:0 -14px 0 var(--rc-page),0 5px 0 var(--rc-page)}
.nwa-fc__parts th{text-align:center;padding:0 0 3px;font-size:12px}
.nwa-fc__part-sort{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:28px;min-height:28px;max-height:28px;padding:4px 12px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}
.nwa-fc__part-sort>span{position:absolute;right:0;width:12px;font-size:16px;font-weight:700;line-height:16px;color:var(--rc-dim)}
.nwa-fc__part-sort>span::after{content:'↕';opacity:.65}
.nwa-fc__parts th[aria-sort=ascending] .nwa-fc__part-sort>span::after{content:'↑';opacity:1;color:var(--rc-orange)}
.nwa-fc__parts th[aria-sort=descending] .nwa-fc__part-sort>span::after{content:'↓';opacity:1;color:var(--rc-orange)}
.nwa-fc__part-sort:hover,.nwa-fc__part-sort:focus-visible{background:var(--rc-page);color:var(--rc-text);outline:1px solid var(--rc-border)}
.nwa-fc__part-row{cursor:default}
.nwa-fc__part-row.is-row-selected{background:#C9DEF4}
.nwa-fc__part-row.is-row-selected>td{box-shadow:none}
.nwa-fc__part-row.is-row-selected>td:first-child{border-radius:5px 0 0 5px}
.nwa-fc__part-row.is-row-selected>td:last-child{border-radius:0 5px 5px 0}
.nwa-fc__part-row.is-row-selected :is(.nwa-fc__input,.nwa-fc__part-type,.nwa-fc__part-pattern){background:#DCEBFA;border-color:var(--rc-border)}
.nwa-fc__part-row.is-row-selected :is(.nwa-fc__input,.nwa-fc__part-type,.nwa-fc__part-pattern):focus{background:#fff;border-color:#A8BBD0;box-shadow:none;outline:none}
.nwa-fc__parts select option{background:#fff;color:var(--rc-text)}
.nwa-fc__part-row:focus-visible{outline:none;background:#C9DEF4}
.nwa-fc__parts-tablebar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:32px;margin:-5px 0 6px}
.nwa-fc__parts-tablebar .nwa-fc__parts-import-status{margin:0;font-size:12px}
.nwa-fc__milling-limit{display:flex;align-items:center;gap:6px;margin:0 0 0 auto;font-size:12px;font-weight:400;color:var(--rc-text)}
.nwa-fc__milling-limit .nwa-fc__input{width:60px;height:28px;min-height:28px;padding:3px 6px;text-align:center}
.nwa-fc__parts-selection{position:relative;display:flex;align-items:center;gap:12px}
#nwa-fc-parts-selection-count{font-size:12px;color:var(--rc-dim)}
#nwa-fc-parts-bulk-open{height:32px;min-height:32px;padding:4px 12px;font-size:12px;gap:8px}
#nwa-fc-parts-bulk-open::before{display:none}
.nwa-fc__parts-bulk-menu{position:absolute;z-index:20;top:calc(100% + 5px);right:0;width:240px;max-height:min(60vh,360px);overflow:auto;padding:5px;border:1px solid var(--rc-border);border-radius:8px;background:var(--rc-bg);box-shadow:0 8px 25px #0002}
.nwa-fc__parts-bulk-menu>button{display:block;width:100%;padding:9px 12px;border:0;border-radius:4px;background:transparent;color:var(--rc-text);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.nwa-fc__parts-bulk-menu>button:hover,.nwa-fc__parts-bulk-menu>button:focus-visible{background:var(--rc-page);outline:none}
.nwa-fc__parts-bulk-menu>[data-parts-bulk=clear]{margin-top:4px;border-top:1px solid var(--rc-border);border-radius:0}
.nwa-fc__parts-selection[hidden],.nwa-fc__parts-bulk-menu[hidden],.nwa-fc__bulk-dialog[hidden],.nwa-fc__bulk-field[hidden]{display:none!important}
.nwa-fc--portal .nwa-fc__bulk-dialog>.nwa-fc__catalog-box{width:min(460px,94vw);height:auto;max-height:90vh;min-height:0;overflow:auto;padding:20px}
.nwa-fc__bulk-dialog p{margin:12px 0;color:var(--rc-dim);font-size:13px}
.nwa-fc__bulk-field{display:grid;gap:7px;font-size:13px;font-weight:600}
.nwa-fc__bulk-dialog [data-bulk-error]{color:var(--rc-orange-text)}
.nwa-fc__bulk-dialog [data-bulk-error]:empty{display:none}
.nwa-fc__bulk-dialog .nwa-fc__catalog-foot{margin-top:18px;justify-content:flex-end;gap:8px}
#nwa-fc-parts-bulk-dialog .nwa-fc__btn::before{display:none}
.nwa-fc__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}
.nwa-fc--portal .nwa-fc__catalog-box.nwa-fc__cut-settings-box{width:min(1080px,calc(100vw - 32px));height:auto;max-height:calc(100vh - 32px);min-height:0;padding:20px;overflow:hidden;display:flex;flex-direction:column}
.nwa-fc__cut-settings-box>.nwa-fc__catalog-head{flex:none;margin-bottom:16px;align-items:flex-start}
.nwa-fc__cut-settings-box>.nwa-fc__catalog-head p{margin:6px 0 0;color:var(--rc-dim);font-size:12px}
.nwa-fc__cut-materials{overflow:auto;min-height:0;display:grid;gap:14px;padding:1px;overscroll-behavior:contain}
.nwa-fc__cut-material{padding:16px;border:1px solid var(--rc-border);border-radius:9px;background:var(--rc-page)}
.nwa-fc__cut-material h4{margin:0 0 12px;font-size:14px;color:var(--rc-text)}
.nwa-fc__cut-fields{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:10px}
.nwa-fc__cut-material label{display:flex;min-width:0;flex-direction:column;gap:5px;font-size:11px;color:var(--rc-dim)}
.nwa-fc__cut-material .nwa-fc__input{width:100%;height:34px;min-height:34px;font-size:13px}
.nwa-fc__cut-scraps{margin-top:14px;padding-top:12px;border-top:1px solid var(--rc-border)}
.nwa-fc__cut-scraps-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px}
.nwa-fc__cut-scraps-head .nwa-fc__btn{height:30px;min-height:30px;font-size:12px}
.nwa-fc__cut-scraps p{margin:6px 0;color:var(--rc-dim);font-size:12px}
.nwa-fc__cut-scrap{display:grid;grid-template-columns:1fr 1fr .7fr 34px;gap:10px;align-items:end;margin-top:9px;max-width:620px}
.nwa-fc__cut-scrap .nwa-fc__btn{width:34px;height:34px;min-height:34px;padding:0;font-size:20px}
.nwa-fc__cut-scraps .nwa-fc__btn::before{display:none!important}
.nwa-fc__cut-temporary{flex:none;margin:12px 0 0;font-size:12px;color:var(--rc-dim)}
.nwa-fc__cut-error{margin:8px 0 0;font-size:12px;color:var(--rc-orange-text)}
.nwa-fc__cut-error:empty{display:none}
.nwa-fc__cut-settings-box>.nwa-fc__catalog-foot{flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--rc-border)}
.nwa-fc__cut-settings [data-save-note]{margin-right:auto;font-size:12px;align-self:center}
.nwa-fc__cut-settings-head-actions{display:flex;flex:0 0 auto;align-items:center;gap:12px;margin-left:auto}
.nwa-fc__cut-settings-head-actions .nwa-fc__btn{height:34px;min-height:34px;padding:5px 12px;font-size:12px}
[data-cut-save].is-dirty{background:#F4F5F7;border-color:#DADDE0;color:#7A7F85}
.nwa-fc__btn.is-saved{background:#F4F5F7;border-color:#DADDE0;color:#7A7F85;opacity:.7}
#nwa-fc-settings-save.is-save-confirmed,#nwa-fc-pattern-apply.is-save-confirmed,.nwa-fc__btn.is-save-confirmed{--fc-action-icon:var(--fc-icon-check)}
.nwa-fc__cut-settings-box>.nwa-fc__catalog-head{flex-wrap:wrap}
[data-cut-save]{--fc-action-icon:var(--fc-icon-save)}
[data-cut-close]{--fc-action-icon:var(--fc-icon-close)}
[data-cut-run]{--fc-action-icon:var(--fc-icon-sheet)}
@media(max-width:760px){.nwa-fc__cut-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.nwa-fc__cut-fields>label:first-child{grid-column:1/-1}.nwa-fc__cut-material{padding:12px}.nwa-fc__cut-scrap{gap:6px}.nwa-fc--portal .nwa-fc__catalog-box.nwa-fc__cut-settings-box{padding:14px}}
.nwa-fc__cut-progress{position:absolute;inset:41px 0 0;z-index:8;display:grid;place-items:center;background:var(--rc-page,#F4F5F7);pointer-events:auto}
.nwa-fc__cut-progress[hidden]{display:none}
.nwa-fc__cut-progress-box{width:min(540px,80%);text-align:center;color:#263746}
.nwa-fc__cut-progress-box h3{margin:0 0 14px;font-size:24px}
.nwa-fc__cut-progress-box h3::before{content:"";display:inline-block;width:18px;height:18px;margin-right:12px;border:2px solid #DCE3EB;border-top-color:#6699CC;border-radius:50%;vertical-align:-2px;animation:nwa-cut-progress-spin 1s linear infinite}
.nwa-fc__cut-progress-box p{min-height:36px;margin:0 0 14px;font-size:13px;color:#657382}
.nwa-fc__cut-progress-track{height:12px;border-radius:8px;background:#DCE3EB;overflow:hidden}
.nwa-fc__cut-progress-track span{display:block;height:100%;width:0;background:repeating-linear-gradient(115deg,#7CA8D5 0px,#7CA8D5 14px,#A3C3E5 14px,#A3C3E5 28px);background-size:62px 100%;animation:nwa-cut-progress-flow 1s linear infinite}
.nwa-fc__cut-progress-box strong{display:block;margin-top:13px;font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}
@keyframes nwa-cut-progress-flow{to{background-position:62px 0}}
@keyframes nwa-cut-progress-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.nwa-fc__cut-progress-track span,.nwa-fc__cut-progress-box h3::before{animation:none}}
.nwa-fc__settings-corner{display:block;max-width:510px;margin-top:14px}
.nwa-fc__narrow-measure{display:flex;align-items:center;gap:8px}
.nwa-fc__narrow-measure .nwa-fc__input{width:110px}
[data-settings-narrow][hidden]{display:none}
.nwa-fc__parts-dialog .nwa-fc__parts-toolbar{display:block}
.nwa-fc__parts-toolbar-actions{flex-wrap:wrap}
#nwa-fc-import-merge .nwa-fc__catalog-box{width:min(600px,calc(100vw - 32px))}
#nwa-fc-import-merge .nwa-fc__catalog-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

/* Manual sheet/offcut management in the layout map. */
.nwa-fc__layout-board-tab{display:flex;flex:0 0 auto;align-items:stretch}
.nwa-fc__layout-board-tab>.nwa-fc__layout-tab{border-radius:5px 0 0 5px}
.nwa-fc__layout-board-remove{display:grid;place-items:center;width:28px;padding:0;border:1px solid var(--rc-border);border-left:0;border-radius:0 5px 5px 0;background:#fff;color:#7A7F85;cursor:pointer}
.nwa-fc__layout-board-remove{--fc-icon-trash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M9 6V3h6v3M5 6l1 15h12l1-15M10 10v7M14 10v7'/%3E%3C/svg%3E")}
.nwa-fc__layout-board-remove::before{content:"";width:13px;height:13px;background:currentColor;-webkit-mask:var(--fc-icon-trash) center/contain no-repeat;mask:var(--fc-icon-trash) center/contain no-repeat}
.nwa-fc__layout-board-remove:hover{background:#fff1eb;color:var(--rc-orange-text)}
.nwa-fc__layout-board-actions{display:flex;flex:0 0 auto;gap:5px;margin-left:auto;padding-left:8px}
.nwa-fc__layout-board-add{padding:6px 10px;border:1px solid var(--rc-border);border-radius:5px;background:#fff;color:var(--rc-text);font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}
.nwa-fc__layout-board-add:hover{border-color:var(--rc-orange);color:var(--rc-orange-text)}
.nwa-fc__layout-board-add:disabled,.nwa-fc__layout-board-remove:disabled{opacity:.45;cursor:default}
.nwa-fc__board-dialog{width:min(440px,calc(100vw - 32px));padding:24px;border:1px solid var(--rc-border);border-radius:12px;color:var(--rc-text);background:#fff;box-shadow:0 16px 48px #0003}
.nwa-fc__board-dialog::backdrop{background:#1c1c1c66}
.nwa-fc__board-dialog h3{margin:0 0 12px;font-size:19px}
.nwa-fc__board-dialog p{margin:0 0 16px;font-size:13px;line-height:1.5}
.nwa-fc__board-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nwa-fc__board-dimensions label{display:flex;flex-direction:column;gap:6px;font-size:12px}
.nwa-fc__board-dimensions input{width:100%}
.nwa-fc__board-dialog p.nwa-fc__board-error{margin-top:12px;color:var(--rc-orange-text)}
.nwa-fc__board-error:empty{display:none}
.nwa-fc__board-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.nwa-fc__board-actions [data-board-cancel]{--fc-action-icon:var(--fc-icon-close)}

/* Caption and delete action scale together with the sheet map. */
.nwa-fc .layout-map-action{cursor:pointer;outline:none}
.nwa-fc .layout-map-remove rect{fill:transparent;stroke:none;stroke-width:1}
.nwa-fc .layout-map-remove path{fill:none;stroke:#263238;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.nwa-fc .layout-map-action:not(.is-disabled):hover .layout-map-remove-label,.nwa-fc .layout-map-action:not(.is-disabled):focus .layout-map-remove-label{fill:#b93812}
.nwa-fc .layout-map-action:focus-visible .layout-map-remove-label{text-decoration:underline}
.nwa-fc .layout-map-action:not(.is-disabled):hover path,.nwa-fc .layout-map-action:not(.is-disabled):focus path{stroke:#b93812}
.nwa-fc .layout-map-action.is-disabled{opacity:.4}
.nwa-fc .layout-map-action[aria-disabled="true"]{cursor:default}
.nwa-fc__recut-scope{display:grid;gap:3px;font-size:11px;color:#68717b;margin:0}
.nwa-fc__recut-scope select{width:100%;min-width:0;font-size:12px;height:32px}
.nwa-fc__recut-offer{padding:9px;border:1px solid #e5c0ad;border-radius:7px;background:#fff7f1}
.nwa-fc__recut-offer p{font-size:12px;line-height:1.4;margin:0 0 6px}
.nwa-fc__recut-offer .nwa-fc__btn{font-size:12px;min-height:30px;padding:5px 9px;width:100%;margin-top:4px}
.nwa-fc__recut-scope[hidden],.nwa-fc__recut-offer[hidden]{display:none}
.nwa-fc__layout-options>.nwa-fc__layout-algorithm{flex:0 0 auto}
.nwa-fc__layout-algorithm>.nwa-fc__input{height:34px;min-width:0;padding:5px 7px;font-size:12px}

#nwa-fc-layout-apply[data-layout-requires-recut="true"]{--fc-action-icon:var(--fc-icon-sheet)}
