/* TR Suite visual contract: Production is the master. Opt in per page. */
:root{--tr-ink:var(--prod-ink,#09234d);--tr-muted:var(--prod-muted,#607c9e);--tr-line:var(--prod-line,#dbe8f7);--tr-blue:var(--prod-blue);--tr-white:#fff;--tr-success:#178361;--tr-danger:#c52f42;--tr-warning:#efb028;--tr-purple:#8030d7;--tr-radius-control:12px;--tr-radius-card:18px;--tr-elevation-1:0 6px 18px #366bb218,inset 0 1px 1px #fff;--tr-elevation-2:0 9px 24px #356ba422,inset 0 1px 2px #fff;--tr-elevation-button:0 5px 12px #1e62b830,inset 0 1px 2px #ffffffaa;--tr-surface:linear-gradient(145deg,#fff,#f3f9ff);--tr-background:radial-gradient(ellipse at 57% 0,#fff9de 0,transparent 14%),radial-gradient(ellipse at 20% 0,#b7d7ff 0,transparent 45%),linear-gradient(125deg,#e3f2ff,#f0f6ff 65%,#e2f3ff)}
body.tr-order-design{background:var(--tr-background);color:var(--tr-ink)}
.tr-ui-icon{width:22px;height:22px;flex:none;display:inline-block;vertical-align:middle;color:currentColor}
body.tr-order-design #nuovo :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){border:1px solid var(--tr-line)!important;border-radius:var(--tr-radius-control)!important;background:linear-gradient(#fff,#f9fcff)!important;color:var(--tr-ink);min-height:44px;padding:10px 12px!important;font:inherit;font-size:14px!important;box-shadow:inset 0 1px 3px #39618309;max-width:100%;box-sizing:border-box}
body.tr-order-design #nuovo :is(input,select,textarea):focus-visible{outline:3px solid #64a9ef;outline-offset:1px}
body.tr-order-design #nuovo :is(button,summary):focus-visible{outline:3px solid #1776da;outline-offset:2px}
body.tr-order-design #nuovo button{transition:filter .12s,box-shadow .12s;border-radius:var(--tr-radius-control);touch-action:manipulation}
body.tr-order-design #nuovo button:hover:not(:disabled){filter:brightness(1.025)}
body.tr-order-design #nuovo button:active:not(:disabled){box-shadow:inset 0 2px 5px #12345430!important}
body.tr-order-design #nuovo .primary{background:var(--tr-blue)!important;color:white!important;border:1px solid #8fbeee!important;box-shadow:var(--tr-elevation-button);min-height:46px}
body.tr-order-design #nuovo .secondary{background:var(--tr-surface)!important;color:var(--tr-ink)!important;border:1px solid var(--tr-line)!important;box-shadow:var(--tr-elevation-1);min-height:44px}
body.tr-order-design #nuovo :is(.flowsection,.flowsummary){background:var(--tr-surface);border:1px solid #ffffffdc;border-radius:var(--tr-radius-card);box-shadow:var(--tr-elevation-1)}
body.tr-order-design #nuovo .capacitybox{background:linear-gradient(#effbf6,#def2e9);color:#176b4d;border-radius:12px;font-size:12px!important;line-height:1.5}
body.tr-order-design #nuovo .capacitybox.warn{background:#fff1d8;color:#87551c}
body.tr-order-design :is(#modalback .modal,.checkout-panel){border-radius:var(--tr-radius-card);box-shadow:var(--tr-elevation-2)}
@media(prefers-reduced-motion:reduce){body.tr-order-design #nuovo button{transition:none!important}}
/* Reusable opt-in primitives for subsequent, separately validated pages. */
.tr-ds-surface,.tr-ds-card,.tr-ds-modal,.tr-ds-drawer,.tr-ds-dropdown{color:var(--tr-ink);background:var(--tr-surface);border:1px solid var(--tr-line);border-radius:var(--tr-radius-card);box-shadow:var(--tr-elevation-1)}
.tr-ds-primary,.tr-ds-secondary,.tr-ds-danger{min-height:44px;padding:10px 16px;border-radius:var(--tr-radius-control);border:1px solid var(--tr-line);box-shadow:var(--tr-elevation-button);font:inherit;font-weight:600}
.tr-ds-primary{background:var(--tr-blue);color:white}.tr-ds-secondary{background:var(--tr-surface);color:var(--tr-ink)}.tr-ds-danger{background:linear-gradient(#e24a58,#b92239);color:white}
.tr-ds-input,.tr-ds-select,.tr-ds-textarea,.tr-ds-search{min-height:44px;border:1px solid var(--tr-line);border-radius:var(--tr-radius-control);padding:10px 12px;background:#fbfdff;color:var(--tr-ink);font:inherit}
.tr-ds-pill,.tr-ds-badge{padding:6px 12px;border-radius:99px;background:#e7f1ff;color:var(--tr-ink);border:1px solid var(--tr-line)}
.tr-ds-status{width:10px;height:10px;border-radius:50%;background:var(--tr-success);box-shadow:inset 2px 2px 3px #fff8,inset -1px -1px 2px #0003}
.tr-ds-empty{padding:24px;text-align:center;color:var(--tr-muted)}
