:root {
    color-scheme: light;
    font-family: system-ui, sans-serif;
    color: #1d2939;
    background: #f5f7fa;
}

body {
    margin: 0;
}

.site-header {
    padding: 1rem max(1.5rem, calc((100% - 60rem) / 2));
    background: #fff;
    border-bottom: 1px solid #e4e7ec;
}

.site-header a {
    color: inherit;
    font-weight: 650;
    text-decoration: none;
}

.page-content {
    max-width: 60rem;
    margin: 4rem auto;
    padding: 0 1.5rem;
}

.status-card {
    padding: 2rem;
    background: #fff;
    border: 1px solid #e4e7ec;
    border-radius: 0.75rem;
}

.status-card h1 {
    margin-top: 0;
}
/* Physical template preview */
.template-preview-page { max-width: 1100px; margin: 0 auto; padding: 1.5rem; }
.template-preview-layout { display: flex; align-items: flex-start; gap: 2rem; flex-wrap: wrap; }
.template-canvas-wrap { flex: 0 1 360px; padding: 1rem; background: #f1f3f5; border: 1px solid #d8dee5; border-radius: .5rem; }
#template-canvas { display: block; width: 100%; height: auto; background: white; }
.template-diagnostics { flex: 1 1 280px; }
.template-diagnostics dl { display: grid; grid-template-columns: minmax(130px, auto) 1fr; gap: .35rem .75rem; margin: .5rem 0 1rem; }
.template-diagnostics dt { font-weight: 600; }
.template-diagnostics dd { margin: 0; }
.zone-diagnostic { padding: .75rem 0; border-top: 1px solid #dee2e6; }
.zone-diagnostic h4 { margin: 0; }
.scale-note { margin-top: 1rem; }
.path-note { display: flex; align-items: center; gap: .5rem; font-size: .9rem; }
.path-note span { width: 32px; border-top: 2px dashed #c92a3a; }
.image-upload { display: block; margin: .75rem 0 1rem; font-weight: 650; }
.image-upload input { display: block; width: 100%; margin-top: .4rem; }
.editor-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.editor-fields label { display: grid; gap: .25rem; font-size: .9rem; font-weight: 600; }
.editor-fields input { width: 100%; box-sizing: border-box; padding: .45rem; border: 1px solid #cbd2d9; border-radius: .3rem; font: inherit; }
.fit-area-controls { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; margin-top: .65rem; }
.bleed-note { flex-basis: 100%; color: #475467; font-size: .8rem; }
.fit-area-controls label { display: flex; align-items: center; gap: .3rem; font-size: .875rem; }
.fit-area-controls input { width: 5.2rem; padding: .35rem; border: 1px solid #cbd2d9; border-radius: .3rem; font: inherit; }
.fit-to-area-button { padding: .4rem .65rem; border: 1px solid #cbd2d9; border-radius: .35rem; background: #fff; color: #344054; font: inherit; font-size: .875rem; cursor: pointer; }
.fit-to-area-button:hover:not(:disabled) { background: #f1f5f9; }
.fit-to-area-button:disabled { cursor: not-allowed; opacity: .55; }
.image-diagnostic { margin: 1.25rem 0; padding: .75rem; background: #fff; border: 1px solid #dee2e6; border-radius: .4rem; }
.image-diagnostic h3 { margin: 0; }
.editor-note { font-size: .9rem; color: #475467; }
#template-canvas { touch-action: none; }
/* Template management */
.site-header { display:flex; gap:1.5rem; align-items:center; }
.management-page { max-width:1100px; margin:2rem auto; padding:0 1rem; }
.page-heading,.template-card,.card-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.primary-link,.filter-form button,.card-actions button,.card-actions a { display:inline-block; padding:.55rem .85rem; border:1px solid #c6d1dc; border-radius:.35rem; background:#f7f9fb; color:#18334d; text-decoration:none; cursor:pointer; font:inherit; }
.primary-link { background:#1769aa; color:white; border-color:#1769aa; }
.filter-form,.form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin:1rem 0 2rem; }
.filter-form label,.form-grid label,.zone-form-row label { display:grid; gap:.35rem; }
.filter-form input,.filter-form select,.form-grid input,.zone-form-row input,.zone-form-row select,.zone-form-row textarea { width:100%; padding:.5rem; border:1px solid #aebbc8; border-radius:.25rem; }
.filter-actions { display:flex; align-items:end; gap:.8rem; }
.template-list { display:grid; gap:.75rem; }
.template-card,.zone-form-row { padding:1rem; border:1px solid #d6dde5; border-radius:.5rem; background:white; }
.template-card h2 { margin:.1rem 0; font-size:1.15rem; }
.template-card p { margin:.3rem 0; }
.card-actions { flex-wrap:wrap; justify-content:flex-end; }
.card-actions form { margin:0; }
.danger-button { color:#a3202d!important; }
.wide { grid-column:1/-1; }
.zone-form-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.8rem; margin:.75rem 0; }
.zone-form-row h3 { margin:0; }
.validation { color:#a3202d; }
@media(max-width:720px) { .template-card { align-items:flex-start; flex-direction:column; } .card-actions { justify-content:flex-start; } }

/* Home */
.site-header { justify-content:space-between; flex-wrap:wrap; }
.site-brand { font-size:1.05rem; }
.site-nav-links { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.site-nav-links a { color:#475467; font-size:.92rem; }
.site-nav-links a:hover { color:#1769aa; }
.home-page { max-width:1100px; margin:0 auto; }
.home-heading { margin-bottom:2rem; }
.home-eyebrow { margin:0 0 .4rem; color:#1769aa; font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.home-heading h1 { margin:.2rem 0 .5rem; color:#18334d; font-size:clamp(2rem,5vw,3rem); letter-spacing:-.04em; }
.home-heading > p:last-child { margin:0; color:#667085; font-size:1.1rem; }
.home-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.home-card { display:flex; min-height:245px; flex-direction:column; align-items:flex-start; padding:1.5rem; border:1px solid #e1e7ee; border-radius:.8rem; background:#fff; box-shadow:0 3px 12px rgba(16,24,40,.035); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.home-card:hover { transform:translateY(-3px); border-color:#bfd6e9; box-shadow:0 10px 24px rgba(16,24,40,.08); }
.home-card-icon { display:grid; width:2.7rem; height:2.7rem; place-items:center; border-radius:.7rem; background:#eaf3fa; color:#1769aa; font-size:1.4rem; }
.home-card h2 { margin:1rem 0 .4rem; color:#18334d; font-size:1.2rem; }
.home-card p { flex:1; margin:0 0 1.25rem; color:#667085; line-height:1.55; }
.home-card .primary-link { border-radius:.45rem; }
.quick-access { display:flex; align-items:center; gap:1.25rem; margin-top:1.8rem; padding:1rem 1.2rem; border:1px solid #e4e7ec; border-radius:.65rem; background:rgba(255,255,255,.7); }
.quick-access h2 { margin:0 auto 0 0; color:#475467; font-size:.95rem; }
.quick-access a { color:#1769aa; font-weight:600; text-decoration:none; }
.quick-access a:hover { text-decoration:underline; }
.catalog-page { padding:1.5rem; border:1px solid #e4e7ec; border-radius:.75rem; background:#fff; }
.catalog-page h1 { margin:.25rem 0 .7rem; color:#18334d; }
.catalog-page p:not(.home-eyebrow) { max-width:42rem; margin:0 0 1.2rem; color:#667085; line-height:1.6; }
@media(max-width:760px) { .home-cards { grid-template-columns:1fr; } .home-card { min-height:0; } .page-content { margin:2rem auto; } }
@media(max-width:520px) { .site-header { align-items:flex-start; flex-direction:column; gap:.8rem; } .site-nav-links { gap:.75rem 1rem; } .quick-access { align-items:flex-start; flex-wrap:wrap; gap:.8rem 1.2rem; } .quick-access h2 { flex-basis:100%; } }

/* Product catalog */
.page-heading > div h1 { margin:.15rem 0 .35rem; color:#18334d; }
.page-heading > div p:last-child { margin:.2rem 0; color:#667085; }
.product-filter-form { grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); }
.product-filter-form label { display:grid; gap:.35rem; }
.product-filter-form input,.product-filter-form select,.form-grid select { box-sizing:border-box; width:100%; padding:.55rem .6rem; border:1px solid #cbd2d9; border-radius:.35rem; background:#fff; color:#1d2939; font:inherit; }
.product-filter-form .filter-actions { flex-wrap:wrap; }
.table-wrap { overflow-x:auto; border:1px solid #e1e7ee; border-radius:.6rem; background:#fff; }
.data-table { width:100%; border-collapse:collapse; text-align:left; }
.data-table th,.data-table td { padding:.8rem .9rem; border-bottom:1px solid #e9edf2; vertical-align:middle; }
.data-table th { background:#f8fafc; color:#475467; font-size:.83rem; font-weight:700; }
.data-table tbody tr:last-child td { border-bottom:0; }
.data-table tbody tr:hover { background:#fbfdff; }
.model-name { color:#18334d; font-weight:650; }
.table-actions { display:flex; align-items:center; gap:.75rem; white-space:nowrap; }
.table-actions a { color:#1769aa; font-weight:600; text-decoration:none; }
.table-actions a:hover { text-decoration:underline; }
.table-actions form { margin:0; }
.table-actions button { padding:0; border:0; background:none; color:#a3202d; cursor:pointer; font:inherit; }
.empty-state { padding:1.5rem!important; color:#667085; text-align:center; }
.notice { margin:1rem 0; padding:.8rem 1rem; border:1px solid #b6dfc6; border-radius:.45rem; background:#effaf3; color:#216e3a; }
.form-page { max-width:850px; padding:1.5rem; border:1px solid #e4e7ec; border-radius:.75rem; background:#fff; }
.form-page h1 { margin:.2rem 0 .5rem; color:#18334d; }
.form-page > p:not(.home-eyebrow) { color:#667085; }
.form-page .form-grid { margin:1.25rem 0; }
.form-grid small { color:#667085; font-weight:400; }
.form-actions { display:flex; align-items:center; gap:1rem; margin-top:1.25rem; }
.form-actions a { color:#1769aa; text-decoration:none; }
.form-actions a:hover { text-decoration:underline; }
@media(max-width:650px) { .page-heading { align-items:flex-start; flex-direction:column; } .data-table { min-width:760px; } .form-actions { flex-wrap:wrap; } }

/* Template preview */
.template-preview-page { max-width:1200px; margin:0 auto; }
.preview-heading,.preview-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.preview-heading { margin-bottom:1.25rem; }
.preview-heading h1 { margin:.1rem 0 .35rem; color:#18334d; font-size:clamp(1.7rem,4vw,2.25rem); letter-spacing:-.035em; }
.preview-heading p:not(.home-eyebrow) { margin:.25rem 0; color:#667085; }
.preview-card { padding:1.2rem; border:1px solid #e1e7ee; border-radius:.75rem; background:#fff; box-shadow:0 3px 12px rgba(16,24,40,.035); }
.preview-selector { display:grid; grid-template-columns:auto minmax(240px,1fr); align-items:center; gap:1rem; margin-bottom:1rem; }
.preview-selector label { color:#344054; font-weight:650; }
.preview-selector select { width:100%; padding:.65rem .75rem; border:1px solid #cbd2d9; border-radius:.4rem; background:white; color:#1d2939; font:inherit; }
.template-preview-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr); align-items:start; gap:1.1rem; }
.template-canvas-card { min-width:0; }
.template-canvas-card h2,.template-sidebar h2 { margin:.1rem 0 .75rem; color:#18334d; font-size:1.15rem; }
.dimension-badge,.zone-count { padding:.35rem .6rem; border-radius:999px; background:#eaf3fa; color:#1769aa; font-size:.83rem; font-weight:650; white-space:nowrap; }
.template-canvas-wrap { display:grid; min-height:400px; place-items:center; padding:1rem; border:1px solid #e1e7ee; border-radius:.6rem; background:#f5f7fa; }
#template-canvas { width:auto; max-width:100%; max-height:72vh; background:#fff; box-shadow:0 4px 16px rgba(16,24,40,.12); touch-action:none; }
.canvas-drop-note { margin:.55rem 0 0; color:#667085; font-size:.85rem; text-align:center; }
#template-canvas { user-select:none; -webkit-user-select:none; }
.template-canvas-wrap { overflow:auto; background-color:#f5f7fa; background-image:linear-gradient(45deg,#e7ebf0 25%,transparent 25%),linear-gradient(-45deg,#e7ebf0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e7ebf0 75%),linear-gradient(-45deg,transparent 75%,#e7ebf0 75%); background-size:20px 20px; background-position:0 0,0 10px,10px -10px,-10px 0; }
#template-canvas { background:transparent; }
.background-tools { display:grid; gap:.6rem; margin-top:.6rem; }
.background-current { display:flex; align-items:center; gap:.55rem; color:#475467; font-size:.85rem; }
#background-swatch { width:1.45rem; height:1.45rem; border:1px solid #98a2b3; border-radius:.25rem; background-color:transparent; background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0; }
#remove-background,.tool-button { padding:.4rem .6rem; border:1px solid #cbd2d9; border-radius:.35rem; background:#fff; color:#344054; font:inherit; font-size:.85rem; cursor:pointer; }
.background-current #remove-background { margin-left:auto; }
.quick-colors { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:.3rem; }
.quick-colors button { width:100%; aspect-ratio:1; border:1px solid rgba(16,24,40,.22); border-radius:50%; background:var(--swatch); cursor:pointer; }
.quick-colors button[data-color="#ffffff"] { --swatch:#fff; }.quick-colors button[data-color="#111827"] { --swatch:#111827; }.quick-colors button[data-color="#dc2626"] { --swatch:#dc2626; }.quick-colors button[data-color="#2563eb"] { --swatch:#2563eb; }.quick-colors button[data-color="#38bdf8"] { --swatch:#38bdf8; }.quick-colors button[data-color="#16a34a"] { --swatch:#16a34a; }.quick-colors button[data-color="#facc15"] { --swatch:#facc15; }.quick-colors button[data-color="#f97316"] { --swatch:#f97316; }.quick-colors button[data-color="#ec4899"] { --swatch:#ec4899; }.quick-colors button[data-color="#9333ea"] { --swatch:#9333ea; }.quick-colors button[data-color="#9ca3af"] { --swatch:#9ca3af; }.quick-colors button[data-color="#854d0e"] { --swatch:#854d0e; }
.tool-button:hover:not(:disabled),#remove-background:hover { border-color:#1769aa; color:#1769aa; }.tool-button.active { background:#1769aa;color:#fff;border-color:#1769aa; }.crop-controls { margin-top:1rem;padding-top:.85rem;border-top:1px solid #e4e7ec; }.crop-controls h3 { margin:.1rem 0 .5rem;color:#18334d;font-size:.95rem; }.crop-controls>div { display:flex;gap:.4rem; }.crop-controls small { display:block;margin-top:.45rem;color:#667085; }
.template-sidebar { display:grid; gap:1rem; }
.image-upload { display:block; margin:.75rem 0 1rem; color:#344054; font-weight:650; }
.image-upload input { display:block; width:100%; margin-top:.45rem; color:#475467; font:inherit; }
.editor-fields input,.fit-area-controls input { box-sizing:border-box; padding:.55rem .6rem; border:1px solid #cbd2d9; border-radius:.35rem; background:white; color:#1d2939; font:inherit; }
.editor-fields input:disabled,.fit-area-controls input:disabled { background:#f8fafc; color:#667085; }
.fit-area-controls { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; margin-top:1rem; }
.fit-area-controls label { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; color:#344054; font-size:.9rem; }
.fit-area-controls input { width:5.3rem; }
.background-control { display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-top:.9rem; color:#344054; font-size:.9rem; font-weight:600; }
.background-control input { width:3rem; height:2.2rem; padding:.15rem; border:1px solid #cbd2d9; border-radius:.35rem; background:#fff; cursor:pointer; }
.bleed-note { flex-basis:100%; color:#667085; font-size:.83rem; }
.fit-to-area-button { padding:.55rem .8rem; border:1px solid #1769aa; border-radius:.4rem; background:#1769aa; color:#fff; font:inherit; cursor:pointer; }
.fit-to-area-button:hover:not(:disabled) { background:#145b94; }
.fit-to-area-button:disabled { cursor:not-allowed; opacity:.55; }
.zones-card { padding-bottom:.7rem; }
.zones-card .preview-section-heading { margin-bottom:.45rem; }
.zone-summary { padding:.85rem 0; border-top:1px solid #e9edf2; }
.zone-summary h3 { margin:0 0 .6rem; color:#18334d; font-size:1rem; }
.zone-summary dl { display:grid; grid-template-columns:minmax(120px,.85fr) minmax(0,1fr); gap:.35rem .65rem; margin:0; font-size:.9rem; }
.zone-summary dt { color:#667085; }
.zone-summary dd { margin:0; color:#344054; font-weight:550; }
.scale-note,.editor-note,.empty-zones { margin:.8rem 0 0; color:#667085; font-size:.88rem; }
@media(max-width:850px) { .template-preview-layout { grid-template-columns:1fr; } .template-sidebar { grid-template-columns:1fr 1fr; align-items:start; } .editor-note { grid-column:1/-1; } }
.client-home,.login-page { max-width:760px; margin:3rem auto; padding:2rem; }
.client-home h1,.login-page h1 { font-size:clamp(2rem,5vw,3.2rem); }
.client-search { display:flex; flex-wrap:wrap; gap:.7rem; margin:2rem 0; }
.client-search label { flex-basis:100%; font-size:1.15rem; font-weight:650; }
.client-search input { flex:1; min-width:220px; padding:.8rem 1rem; border:1px solid #cbd2d9; border-radius:.5rem; font:inherit; }
.client-models { display:grid; gap:.65rem; }
.client-model { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.2rem; border:1px solid #e1e6eb; border-radius:.65rem; color:#182230; text-decoration:none; background:#fff; }
.client-model:hover { border-color:#1769aa; box-shadow:0 4px 18px #1769aa18; }
.client-model strong { color:#1769aa; }
.login-page form { display:grid; gap:1rem; max-width:400px; }
.login-page label { display:grid; gap:.35rem; }
.login-page input { padding:.7rem; border:1px solid #cbd2d9; border-radius:.4rem; font:inherit; }
.client-hidden { display:none!important; }
.client-mode .editor-fields,.client-mode .scale-note,.client-mode .zones-card,.client-mode .editor-note { display:none!important; }
@media(max-width:620px) { .preview-heading { align-items:flex-start; flex-direction:column; } .preview-selector { grid-template-columns:1fr; gap:.45rem; } .template-sidebar { grid-template-columns:1fr; } .template-canvas-wrap { min-height:280px; padding:.6rem; } #template-canvas { max-height:60vh; } .zone-summary dl { grid-template-columns:1fr; gap:.15rem; } .zone-summary dd { margin-bottom:.35rem; } }

/* Temporary print queue and physical sheet preview */
.print-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin:.75rem 0; }
.print-actions .primary-link { font:inherit; cursor:pointer; }
.print-actions button:disabled { opacity:.55; cursor:not-allowed; }
#export-status { flex-basis:100%; color:#475467; font-size:.85rem; }
.print-page { max-width:1100px; margin:0 auto; padding:1.5rem; }
.print-settings { display:flex; align-items:end; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.print-settings label,.print-design form label { display:grid; gap:.35rem; color:#344054; font-size:.9rem; font-weight:600; }
.print-settings input:not([type=checkbox]),.print-settings select,.print-design input { box-sizing:border-box; padding:.55rem .6rem; border:1px solid #cbd2d9; border-radius:.35rem; font:inherit; }
.print-settings .rotation-setting { display:flex; align-items:center; min-height:2.5rem; }
.print-designs { display:grid; gap:.65rem; margin:1rem 0 2rem; }
.print-design { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.print-design img { width:55px; height:85px; object-fit:contain; background:#f5f7fa; }
.print-design h2 { margin:0 0 .25rem; font-size:1rem; }
.print-design p { margin:0; color:#667085; font-size:.9rem; }
.print-design form { display:flex; align-items:end; gap:.5rem; margin-left:auto; }
.print-design form button,.print-design button { padding:.5rem .7rem; border:1px solid #c6d1dc; border-radius:.35rem; background:#f7f9fb; color:#18334d; cursor:pointer; font:inherit; }
.print-design form+form { margin-left:0; }
.quantity-controls { display:flex; align-items:center; gap:.25rem; }
.quantity-controls input { width:4rem; }
.quantity-controls button { min-width:2rem; padding:.45rem!important; }
.sheet-preview-card { margin:.8rem 0; }
.sheet-preview-card h3 { margin:.1rem 0 .8rem; font-size:1rem; }
.sheet-preview { position:relative; width:min(100%, 400px); aspect-ratio:215.9 / 279.4; margin:auto; border:1px solid #98a2b3; background:#fff; box-shadow:0 4px 16px rgba(16,24,40,.09); overflow:hidden; }
.sheet-piece { position:absolute; box-sizing:border-box; border:1px solid #1769aa; background-size:100% 100%; background-position:center; background-repeat:no-repeat; }
.sheet-label { position:absolute; display:flex; align-items:center; justify-content:center; overflow:hidden; color:#101828; font-size:.5rem; font-weight:650; line-height:1; text-align:center; white-space:nowrap; }
.sheet-preview-card>p { color:#667085; font-size:.85rem; text-align:center; }
.generate-sheet-pdf { display:inline-block; margin:1rem 0; }
.print-warning { border-color:#f0c36d; background:#fff9e8; color:#7a4b00; }
.client-home,.login-page { max-width:760px; margin:3rem auto; padding:2rem; }
.client-home h1,.login-page h1 { font-size:clamp(2rem,5vw,3.2rem); }
.client-search { display:flex; flex-wrap:wrap; gap:.7rem; margin:2rem 0; }
.client-search label { flex-basis:100%; font-size:1.15rem; font-weight:650; }
.client-search input { flex:1; min-width:220px; padding:.8rem 1rem; border:1px solid #cbd2d9; border-radius:.5rem; font:inherit; }
.client-models { display:grid; gap:.65rem; }
.client-model { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.2rem; border:1px solid #e1e6eb; border-radius:.65rem; color:#182230; text-decoration:none; background:#fff; }
.client-model:hover { border-color:#1769aa; box-shadow:0 4px 18px #1769aa18; }
.client-model strong { color:#1769aa; }
.login-page form { display:grid; gap:1rem; max-width:400px; }
.login-page label { display:grid; gap:.35rem; }
.login-page input { padding:.7rem; border:1px solid #cbd2d9; border-radius:.4rem; font:inherit; }
.client-hidden { display:none!important; }
.client-mode .editor-fields,.client-mode .scale-note,.client-mode .zones-card,.client-mode .editor-note { display:none!important; }
/* Nexora customer experience */
.nexora-landing { max-width:1200px; margin:auto; padding:2.2rem 1.5rem 4rem; color:#172033; }
.nexora-hero { min-height:470px; display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:2rem; padding:3rem clamp(1.5rem,5vw,4rem); overflow:hidden; border:1px solid #e4e8f3; border-radius:1.5rem; background:radial-gradient(ellipse at 78% 44%,#edf0ff 0,transparent 38%),linear-gradient(135deg,#fff 25%,#f7f8ff); }
.nexora-copy { max-width:540px; }
.nexora-copy .home-eyebrow,.step-heading .home-eyebrow,.model-picker .home-eyebrow { color:#635bce; letter-spacing:.14em; font-size:.74rem; font-weight:750; }
.nexora-copy h1 { margin:.7rem 0 1rem; font-size:clamp(3rem,7vw,5.4rem); line-height:.98; letter-spacing:-.055em; }
.nexora-copy h1 span { color:#655bd4; }
.nexora-lead { max-width:470px; color:#566176; font-size:1.08rem; line-height:1.7; }
.nexora-cta { display:inline-flex; align-items:center; gap:1.2rem; margin:1rem 0 .7rem; padding:.9rem 1.25rem; border:0; border-radius:.65rem; color:white; background:#635bce; font:inherit; font-weight:700; text-decoration:none; box-shadow:0 8px 22px #635bce35; cursor:pointer; }
.nexora-cta:hover { background:#5148b4; color:white; }
.nexora-copy small { display:block; color:#778197; }
.nexora-art { position:relative; min-height:390px; display:grid; place-items:center; }
.art-glow { position:absolute; width:330px; height:330px; border-radius:50%; background:linear-gradient(140deg,#dedbff,#e8f7ff); }
.art-card { position:absolute; width:190px; height:345px; border:7px solid #252337; border-radius:32px; box-shadow:0 28px 50px #2523372b; }
.art-back { transform:translate(64px,-10px) rotate(13deg); background:linear-gradient(160deg,#f3b3ca,#f3d6a2 55%,#acb9f2); }
.art-front { transform:translate(-24px,8px) rotate(-8deg); overflow:hidden; background:linear-gradient(155deg,#fac9aa,#f5a6b9 47%,#bd9be9 100%); }
.art-camera { position:absolute; top:16px; left:15px; width:49px; height:49px; display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:5px; border-radius:14px; background:#242338; }
.art-camera i { border:2px solid #8884a6; border-radius:50%; background:#383650; }
.art-flower { position:absolute; left:48px; top:116px; color:#fff5d9; font-size:6rem; text-shadow:0 6px 24px #9a4e8866; }
.art-caption { position:absolute; right:18px; bottom:38px; color:#fff; font-size:1.3rem; font-weight:800; line-height:.95; text-align:right; }
.art-chip { position:absolute; z-index:2; padding:.6rem .85rem; border:1px solid #ffffffb5; border-radius:999px; background:#ffffffdb; color:#5148b4; font-size:.84rem; font-weight:700; box-shadow:0 8px 22px #38365015; }
.chip-one { top:56px; right:9%; }.chip-two { bottom:49px; left:4%; }
.nexora-steps { padding:4rem .5rem 1rem; }
.step-heading { text-align:center; }.step-heading h2 { margin:.3rem; font-size:2rem; letter-spacing:-.03em; }.step-heading>p:last-child { color:#697386; }
.step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.step-grid article { padding:1.4rem; border:1px solid #e8eaf1; border-radius:1rem; background:#fff; }
.step-grid article>span { color:#7068d2; font-size:.8rem; font-weight:800; letter-spacing:.12em; }.step-grid h3 { margin:.7rem 0 .35rem; }.step-grid p { margin:0; color:#697386; line-height:1.55; }
.model-picker { max-width:720px; margin:3.5rem auto; padding:1rem; }.model-picker h1 { font-size:clamp(2rem,5vw,3rem); letter-spacing:-.04em; }.back-link { display:inline-block; margin-bottom:2rem; color:#5148b4; text-decoration:none; font-weight:650; }
.client-template-picker { display:grid; grid-template-columns:minmax(160px,.4fr) minmax(200px,1fr); gap:.5rem .8rem; align-items:center; margin:.5rem 0 1rem; padding:1rem; border:1px solid #e6e8ee; border-radius:.7rem; background:#fff; }
.client-template-picker label { font-weight:650; }.client-template-picker input,.client-template-picker select { min-width:0; padding:.65rem .75rem; border:1px solid #d4d8e1; border-radius:.45rem; background:white; font:inherit; }
.client-mode .editor-fields,.client-mode .scale-note,.client-mode .zones-card,.client-mode .editor-note { display:none!important; }
.client-mode .fit-area-controls { display:flex; flex-direction:column; align-items:stretch; gap:.5rem; padding:.8rem; border-radius:.6rem; background:#f6f7fb; }
.client-mode .fit-area-controls label { display:flex; justify-content:space-between; align-items:center; font-weight:650; }.client-mode .fit-area-controls input { width:5rem; }
.client-mode .bleed-note { color:#667085; line-height:1.4; }
@media(max-width:760px) { .nexora-hero { grid-template-columns:1fr; padding:2rem 1.4rem; }.nexora-art { min-height:330px; }.art-card { transform-origin:center; scale:.86; }.art-back { transform:translate(52px,-4px) rotate(13deg); }.art-front { transform:translate(-25px,4px) rotate(-8deg); }.step-grid { grid-template-columns:1fr; }.client-template-picker { grid-template-columns:1fr; } }
.zone-legend { margin:.8rem 0 1rem; padding:.8rem; border:1px solid #e4e8f0; border-radius:.6rem; background:#fafaff; }
.zone-legend>strong { display:block; margin-bottom:.55rem; color:#344054; font-size:.88rem; }
#zone-legend-items { display:flex; flex-wrap:wrap; gap:.45rem; }
.zone-legend-item { display:grid; gap:.12rem; padding:.45rem .6rem; border-radius:.45rem; background:#f0efff; color:#433c91; font-size:.82rem; }
.zone-legend-item small { color:#667085; font-size:.73rem; }
#zone-legend[hidden] { display:none; }
.customer-export { display:grid; gap:.45rem; margin:.6rem 0; }
.customer-export output { min-height:1.2em; color:#667085; font-size:.85rem; }

/* NEXORA visual foundation and responsive shell */
:root {
    color-scheme: light;
    --nx-ink: #15152b; --nx-muted: #69718a; --nx-primary: #6248f5; --nx-primary-deep: #4933c6;
    --nx-blue: #438dff; --nx-violet: #a24bea; --nx-magenta: #dc56ca; --nx-surface: #fff; --nx-canvas: #f5f6fc;
    --nx-border: #e7e9f3; --nx-gradient: linear-gradient(112deg,#5545f5 0%,#7449ee 58%,#b34ddd 100%);
    --nx-radius-sm: .65rem; --nx-radius-md: 1rem; --nx-radius-lg: 1.45rem;
    --nx-shadow-card: 0 12px 35px rgba(27,27,67,.065); --nx-shadow-float: 0 20px 50px rgba(34,24,99,.16);
    --nx-space: clamp(1rem,3vw,2rem);
    font-family: Inter,"Segoe UI",system-ui,-apple-system,sans-serif; color:var(--nx-ink); background:var(--nx-canvas);
    font-synthesis:none; text-rendering:optimizeLegibility;
}
*,*::before,*::after { box-sizing:border-box; }
html { min-width:320px; scroll-behavior:smooth; }
body { min-width:320px; min-height:100vh; color:var(--nx-ink); background:var(--nx-canvas); }
button,input,select,textarea { font:inherit; }
button,a,summary,input,select { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #8b75ff; outline-offset:3px; }
.site-header { position:relative; z-index:10; min-height:76px; padding:.75rem max(1.4rem,calc((100% - 1240px)/2)); border:0; border-bottom:1px solid #e2e4f1cc; background:#fffffff0; box-shadow:0 4px 24px #14143709; backdrop-filter:blur(14px); }
.site-brand { display:inline-flex; align-items:center; gap:.58rem; color:var(--nx-ink)!important; font-size:1.36rem!important; font-weight:760!important; letter-spacing:-.055em; text-decoration:none; }
.brand-mark { width:2.1rem; height:2.1rem; flex:none; }
.mobile-nav { position:relative; }.mobile-nav-toggle { display:none; }
.mobile-nav-toggle svg { width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round; }
.site-nav-links { display:flex;align-items:center;gap:.3rem; }
.site-nav-links a { padding:.62rem .78rem;border-radius:.6rem;color:#515871;font-size:.91rem;font-weight:600;text-decoration:none;transition:color .16s ease,background .16s ease; }
.site-nav-links a:hover { color:var(--nx-primary);background:#f3f1ff; }
.page-content { width:min(calc(100% - 2rem),1240px);max-width:1240px;margin:0 auto;padding:clamp(1.25rem,3vw,2.3rem) 0 3rem; }
.home-page { max-width:none; }.home-eyebrow { color:var(--nx-primary)!important;font-size:.73rem!important;font-weight:780!important;letter-spacing:.15em!important;line-height:1.4; }
.nexora-landing { max-width:1120px;margin:0 auto;padding:0 0 2.5rem; }
.nexora-hero { position:relative;min-height:510px;grid-template-columns:minmax(0,1fr) minmax(330px,.92fr);gap:1.2rem;padding:clamp(2rem,5vw,4.2rem);overflow:hidden;border:1px solid #e6e6f3;border-radius:var(--nx-radius-lg);background:radial-gradient(ellipse at 73% 48%,#815dff21,transparent 37%),linear-gradient(120deg,#fff 24%,#faf9ff 65%,#f1f3ff);box-shadow:var(--nx-shadow-card); }
.nexora-copy { position:relative;z-index:2;max-width:560px; }.nexora-copy .home-eyebrow { display:inline-flex;margin:0;padding:.48rem .72rem;border:1px solid #e8e2ff;border-radius:999px;background:#fff; }
.nexora-copy h1 { margin:.85rem 0 1.1rem;color:#16152e;font-size:clamp(3rem,6.6vw,5.25rem);font-weight:790;line-height:.98;letter-spacing:-.065em; }
.nexora-copy h1 span { color:transparent;background:var(--nx-gradient);background-clip:text;-webkit-background-clip:text; }
.nexora-lead { max-width:460px;margin:.8rem 0 1.25rem;color:#5d6379;font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.7; }
.nexora-cta { min-height:3.15rem;gap:1rem;margin:.3rem 0 .8rem;padding:.85rem 1.2rem;border-radius:.75rem;background:var(--nx-gradient);box-shadow:0 9px 22px #5f44e440;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; }
.nexora-cta:hover { transform:translateY(-2px);color:#fff;filter:saturate(1.13);box-shadow:0 13px 28px #5f44e44f; }.nexora-cta:focus-visible { outline-color:#654ef4;outline-offset:4px; }
.nexora-copy small { color:#777c91; }.nexora-art { position:relative;min-width:0;min-height:410px;isolation:isolate; }
.art-orbit { position:absolute;z-index:-1;border:1px solid #806bec26;border-radius:50%; }.orbit-one { width:340px;height:340px;background:linear-gradient(145deg,#d9d6ff,#f3e9ff 62%,#d4edff);box-shadow:inset 0 0 36px #fff9,0 0 55px #a58aff26; }.orbit-two { width:410px;height:410px;border-color:#8e77f02e; }
.art-device { position:absolute;width:180px;height:330px;overflow:hidden;border:6px solid #1e1d31;border-radius:31px;box-shadow:var(--nx-shadow-float); }
.art-device-back { transform:translate(57px,-7px) rotate(12deg);background:linear-gradient(160deg,#f3e4ff,#b99bff 50%,#37326e); }.art-device-front { transform:translate(-27px,13px) rotate(-8deg);background:linear-gradient(155deg,#ffe7d9,#facad4 43%,#b4bcf9); }
.art-device svg { position:absolute;inset:18% -5% 0;width:110%;height:84%;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;opacity:.85; }.art-device-back svg { stroke:#f0cfff;stroke-width:5; }
.device-camera { position:absolute;z-index:2;top:11px;left:11px;display:grid;width:52px;height:52px;grid-template-columns:1fr 1fr;gap:4px;padding:5px;border-radius:15px;background:#242337; }.device-camera i { border:2px solid #85849e;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7982a8,#24263e 60%); }
.device-art-sun { position:absolute;top:77px;right:20px;width:76px;height:76px;border-radius:50%;background:#fff8deaa;filter:blur(1px); }.device-star { position:absolute;z-index:1;top:125px;left:53px;color:#fff8e7;font-size:5.4rem;text-shadow:0 5px 20px #a254a166; }
.art-chip { display:flex;align-items:center;gap:.52rem;padding:.68rem .9rem;border:1px solid #ffffffd9;border-radius:999px;background:#ffffffed;color:#403c68;font-size:.82rem;font-weight:700;box-shadow:0 8px 24px #25205015; }.chip-one { top:54px;right:2%; }.chip-two { bottom:36px;left:2%;color:#6350d6; }.chip-dot { width:.55rem;height:.55rem;border-radius:50%;background:var(--nx-gradient);box-shadow:0 0 0 4px #765bf51a; }
.nexora-steps { padding:4rem .4rem .5rem; }.step-heading h2 { margin:.45rem 0;color:var(--nx-ink);font-size:clamp(1.7rem,3vw,2.15rem);letter-spacing:-.04em; }.step-heading>p:last-child { margin:.45rem 0;color:var(--nx-muted); }
.step-grid { gap:1rem;margin-top:1.8rem; }.step-grid article { position:relative;min-height:210px;padding:1.35rem;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:#fff;box-shadow:0 5px 18px #1b1b6709;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.step-grid article:hover { transform:translateY(-3px);border-color:#d9d2ff;box-shadow:var(--nx-shadow-card); }.step-icon { display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.85rem;background:#f0edff;color:var(--nx-primary); }.step-icon svg { width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.step-number { position:absolute;top:1.45rem;right:1.35rem;color:#a1a4b7;font-size:.74rem;letter-spacing:.1em; }.step-grid h3 { margin:1rem 0 .35rem;color:#24233c;font-size:1.04rem; }.step-grid p { margin:0;color:var(--nx-muted);font-size:.92rem;line-height:1.55; }
.dashboard-welcome { position:relative;display:flex;min-height:245px;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2.1rem;padding:clamp(1.5rem,4vw,3rem);overflow:hidden;border:1px solid #282653;border-radius:var(--nx-radius-lg);color:#fff;background:radial-gradient(ellipse at 82% 25%,#5145a9,transparent 32%),radial-gradient(ellipse at 95% 110%,#302761,transparent 42%),linear-gradient(118deg,#111226,#171532 68%,#211c4d);box-shadow:0 16px 38px #201a4a20; }
.dashboard-welcome>div:first-child { position:relative;z-index:1; }.dashboard-welcome .home-eyebrow { color:#b5a6ff!important; }.dashboard-welcome h1 { margin:.5rem 0 .7rem;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08;letter-spacing:-.05em; }.dashboard-welcome h1 span { color:#b9a2ff; }.dashboard-welcome p:last-child { max-width:550px;margin:0;color:#c5c5db;line-height:1.6; }
.welcome-orb { position:relative;display:grid;width:175px;height:175px;flex:none;place-items:center;border:1px solid #b3a4ff55;border-radius:50%;background:linear-gradient(145deg,#7660ec55,#438dff22);box-shadow:0 0 70px #785bff30,inset 0 0 35px #a38bff24; }.welcome-orb::before,.welcome-orb::after { position:absolute;inset:13px;border:1px solid #c0b3ff3b;border-radius:50%;content:""; }.welcome-orb::after { inset:28px; }.welcome-orb span { z-index:1;color:#e7dcff;font-size:3.1rem;text-shadow:0 0 24px #b898ff; }.welcome-orb i { position:absolute;top:23px;right:23px;width:9px;height:9px;border-radius:50%;background:#df73f4;box-shadow:0 0 15px #df73f4; }
.home-section-heading { display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 0 1rem; }.home-section-heading .home-eyebrow { margin:0 0 .25rem; }.home-section-heading h2 { margin:0;font-size:1.45rem;letter-spacing:-.03em; }.section-caption { color:var(--nx-muted);font-size:.86rem; }
.home-cards { grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; }.home-card { position:relative;min-width:0;min-height:225px;padding:1.35rem 1.45rem;overflow:hidden;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:#fff;box-shadow:0 5px 20px #1b1b6709; }.home-card::after { position:absolute;top:-45px;right:-55px;width:145px;height:145px;border-radius:50%;background:var(--card-tint,#f0edff);opacity:.65;content:"";transition:transform .2s ease; }.home-card:hover { transform:translateY(-3px);border-color:#d9d2ff;box-shadow:var(--nx-shadow-card); }.home-card:hover::after { transform:scale(1.18); }
.home-card-icon { z-index:1;width:3rem;height:3rem;border-radius:.88rem;background:var(--card-icon-bg,#f0edff);color:var(--card-color,var(--nx-primary)); }.home-card-icon svg { width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.card-kicker { display:block;margin:1rem 0 .32rem;color:var(--card-color,var(--nx-primary));font-size:.66rem;font-weight:780;letter-spacing:.13em; }.home-card h3 { position:relative;z-index:1;margin:0 0 .4rem;color:var(--nx-ink);font-size:1.22rem; }.home-card p { position:relative;z-index:1;max-width:34rem;min-height:1.5em;margin:0 0 1rem;color:var(--nx-muted);font-size:.91rem;line-height:1.5; }
.card-action { position:relative;z-index:1;display:inline-flex;align-items:center;gap:.65rem;color:var(--card-color,var(--nx-primary));font-size:.9rem;font-weight:700;text-decoration:none; }.card-action span { transition:transform .16s ease; }.card-action:hover { text-decoration:underline;text-underline-offset:3px; }.card-action:hover span { transform:translateX(3px); }
.card-templates { --card-color:#3675df;--card-icon-bg:#eaf2ff;--card-tint:#e3edff; }.card-products { --card-color:#159778;--card-icon-bg:#e4f8f1;--card-tint:#d8f3ea; }.card-print { --card-color:#dd762e;--card-icon-bg:#fff0e5;--card-tint:#ffead9; }.provider-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-note { display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;padding:1rem 1.1rem;border:1px solid #e8e5fb;border-radius:var(--nx-radius-sm);background:linear-gradient(110deg,#fff,#faf9ff);color:#646980;font-size:.88rem;line-height:1.5; }.home-note strong { color:#33304f; }.note-sparkle { color:var(--nx-violet);font-size:1.25rem; }
.primary-link,.filter-form button,.card-actions button,.card-actions a,.tool-button,.fit-to-area-button { min-height:2.65rem;border-radius:.65rem;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease; }.primary-link { border-color:var(--nx-primary);background:var(--nx-gradient);color:#fff;box-shadow:0 5px 13px #6248f52b; }.primary-link:hover:not(:disabled) { border-color:var(--nx-primary-deep);background:var(--nx-primary-deep);color:#fff;box-shadow:0 8px 18px #6248f536; }.tool-button,.fit-to-area-button { border-color:#ddd9f6; }.tool-button:hover:not(:disabled) { border-color:var(--nx-primary);color:var(--nx-primary); }
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea { max-width:100%;border-color:#d9dce9;border-radius:.6rem; } input:not([type=checkbox]):not([type=radio]):not([type=color]):focus,select:focus,textarea:focus { border-color:#8874f5;box-shadow:0 0 0 3px #7157f51c;outline:none; }
button:disabled,.primary-link:disabled,.tool-button:disabled { cursor:not-allowed;opacity:.55;box-shadow:none; }.status-card,.preview-card,.template-card,.zone-form-row,.form-page,.catalog-page,.client-model { border-color:var(--nx-border);border-radius:var(--nx-radius-md);box-shadow:0 5px 20px #1b1b670a; }
.management-page,.template-preview-page,.print-page { width:100%;max-width:1240px;padding-left:0;padding-right:0; }.template-canvas-wrap { border-color:#e5e6f0;border-radius:var(--nx-radius-sm); }.client-model { min-width:0;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }.client-model:hover { transform:translateY(-1px);border-color:#c9c0ff;box-shadow:0 8px 22px #6248f516; }
@media(max-width:900px) { .site-header { min-height:70px;padding-inline:1.25rem; }.nexora-hero { min-height:455px;grid-template-columns:minmax(0,1fr) minmax(275px,.86fr);padding:2rem; }.nexora-art { transform:scale(.88); }.home-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
    .page-content { width:min(calc(100% - 1.25rem),1240px);padding-top:.85rem; }.site-header { min-height:64px;padding:.55rem .85rem; }.site-brand { font-size:1.22rem!important; }.brand-mark { width:1.9rem;height:1.9rem; }
    .mobile-nav-toggle { display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid #e7e8f1;border-radius:.7rem;color:#393755;background:#fff;cursor:pointer; }.mobile-nav.is-open .mobile-nav-toggle { border-color:#dcd5ff;color:var(--nx-primary);background:#f7f5ff; }
    .site-nav-links { position:absolute;top:calc(100% + .65rem);right:0;display:none;width:min(17rem,calc(100vw - 1.5rem));gap:.2rem;padding:.5rem;border:1px solid var(--nx-border);border-radius:.9rem;background:#fff;box-shadow:0 16px 40px #17163520; }.mobile-nav.is-open .site-nav-links { display:grid; }.site-nav-links a { min-height:2.75rem;display:flex;align-items:center;padding:.65rem .8rem; }
    .nexora-landing { padding:0 0 1rem; }.nexora-hero { min-height:0;grid-template-columns:1fr;gap:.15rem;padding:1.5rem 1.15rem 1rem;border-radius:1.1rem; }.nexora-copy h1 { margin:.8rem 0;font-size:clamp(2.8rem,13vw,4rem); }.nexora-lead { font-size:1rem;line-height:1.6; }.nexora-cta { min-height:3.15rem;max-width:100%; }
    .nexora-art { min-height:315px;transform:scale(.82);transform-origin:top center;margin:1rem 0 -3rem; }.art-device { width:158px;height:290px; }.art-device-back { transform:translate(47px,-4px) rotate(12deg); }.art-device-front { transform:translate(-23px,9px) rotate(-8deg); }.orbit-one { width:290px;height:290px; }.orbit-two { width:350px;height:350px; }.chip-one { top:22px;right:-2%; }.chip-two { bottom:23px;left:-3%; }
    .nexora-steps { padding:3rem 0 .5rem; }.step-grid { grid-template-columns:1fr;gap:.7rem;margin-top:1.2rem; }.step-grid article { display:grid;min-height:0;grid-template-columns:3rem 1fr;column-gap:.8rem;padding:1rem; }.step-icon { grid-row:span 2; }.step-number { top:1rem;right:1rem; }.step-grid h3 { margin:.2rem 1.6rem .2rem 0; }.step-grid p { grid-column:2; }
    .dashboard-welcome { min-height:215px;gap:.5rem;padding:1.35rem;border-radius:1.1rem; }.dashboard-welcome h1 { max-width:29rem;font-size:clamp(1.8rem,8vw,2.6rem); }.dashboard-welcome p:last-child { max-width:32rem;font-size:.9rem; }.welcome-orb { width:92px;height:92px;margin-right:-2.5rem;opacity:.7; }.welcome-orb::before { inset:8px; }.welcome-orb::after { inset:17px; }.welcome-orb span { font-size:2rem; }
    .home-section-heading { align-items:flex-start;flex-direction:column;gap:.35rem; }.home-cards,.provider-cards { grid-template-columns:1fr; }.home-card { min-height:0;padding:1.15rem; }.home-card p { min-height:0; }.home-note { align-items:flex-start; }
    .management-page,.template-preview-page,.print-page { padding-left:0;padding-right:0; }.preview-card,.form-page,.catalog-page { padding:1rem; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important; } }

/* Shared Nexora controls and form alignment */
:root { --nx-control-height: 2.65rem; --nx-control-radius: .6rem; }
button, .primary-link, .card-actions a, .table-actions a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: var(--nx-control-height);
    padding: .55rem .85rem;
    border: 1px solid #ddd9f6;
    border-radius: var(--nx-control-radius);
    background: #fff;
    color: #393755;
    font: inherit;
    font-size: .9rem;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
button:hover:not(:disabled), .card-actions a:hover, .table-actions a:hover { border-color: var(--nx-primary); color: var(--nx-primary); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #7157f566; outline-offset: 2px; }
button:disabled { cursor: not-allowed; opacity: .55; }
.primary-link, .nexora-cta, .fit-to-area-button { border-color: var(--nx-primary); background: var(--nx-gradient); color: #fff; }
.primary-link:hover:not(:disabled), .nexora-cta:hover:not(:disabled), .fit-to-area-button:hover:not(:disabled) { border-color: var(--nx-primary-deep); background: var(--nx-primary-deep); color: #fff; }
.danger-button, .table-actions button { color: #a3202d; }
.site-nav-links form { margin: 0; }
.site-nav-links form button { min-height: 2.4rem; padding: .45rem .7rem; }
.mobile-nav-toggle { display: none; }
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]):not([type=file]), select, textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-height: var(--nx-control-height);
    padding: .55rem .65rem;
    border: 1px solid #d9dce9;
    border-radius: var(--nx-control-radius);
    background: #fff;
    color: var(--nx-ink);
    font: inherit;
    font-size: .92rem;
}
textarea { min-height: 5rem; resize: vertical; }
input[type=color] { box-sizing: border-box; }
.form-grid, .filter-form, .product-filter-form { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
.form-grid label, .filter-form label, .product-filter-form label, .zone-form-row label, .login-page label, .print-settings label { min-width: 0; }
.zone-form-row { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.zone-form-row > h3 { grid-column: span 3; align-self: center; }
.zone-form-row > .remove-zone { grid-column: 4; }
.zone-form-row > label { min-width: 0; }
.zone-form-row > label input, .zone-form-row > label select, .zone-form-row > label textarea { width: 100%; }
.zone-form-row .wide { grid-column: 1 / -1; }
.login-page { width: min(100%, 29rem); margin: 2rem auto; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--nx-border); border-radius: var(--nx-radius-md); background: #fff; box-shadow: var(--nx-shadow-card); }
.login-page form { display: grid; gap: 1rem; }
.login-page label { display: grid; gap: .4rem; color: var(--nx-ink); font-weight: 600; }
.login-page input { width: 100%; }
.table-actions { flex-wrap: wrap; gap: .4rem; white-space: normal; }
.table-actions button { min-height: 2rem; padding: .35rem .5rem; border: 0; background: transparent; }
.quick-colors button[data-color] { display: block; min-height: 0; padding: 0; border-radius: 50%; }
.quantity-controls button { min-width: 2.4rem; padding: .3rem; }
@media (max-width: 760px) {
    .zone-form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zone-form-row > h3 { grid-column: 1; }
    .zone-form-row > .remove-zone { grid-column: 2; justify-self: end; }
    .zone-form-row .wide { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
    .mobile-nav-toggle { display: grid; min-width: 2.75rem; min-height: 2.75rem; padding: .55rem; }
    .mobile-nav-toggle svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
    .site-nav-links a { justify-content: flex-start; }
    .site-nav-links form button { width: 100%; justify-content: flex-start; }
    .form-actions, .filter-actions, .print-actions { flex-wrap: wrap; }
    .preview-selector { grid-template-columns: 1fr; }
    .zone-form-row { gap: .65rem; padding: .8rem; }
}
@media (max-width: 420px) {
    .zone-form-row { grid-template-columns: minmax(0, 1fr); }
    .zone-form-row > h3, .zone-form-row > .remove-zone, .zone-form-row .wide { grid-column: 1; }
    .zone-form-row > .remove-zone { justify-self: start; }
    .filter-actions > *, .form-actions > * { max-width: 100%; }
    .print-settings { grid-template-columns: minmax(0, 1fr); }
}

/* Product creation page */
.product-create-page { width: min(100%, 860px); max-width: 860px; margin: 1.5rem auto; padding: clamp(1.25rem, 3vw, 2.25rem); }
.product-create-heading { margin-bottom: 1.5rem; }
.product-create-heading h1 { margin: .2rem 0 .45rem; color: var(--nx-ink); font-size: clamp(1.7rem, 3vw, 2.15rem); letter-spacing: -.035em; }
.product-create-heading > p:last-child { margin: 0; color: var(--nx-muted); }
.product-create-page .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.25rem; margin: 0; }
.product-create-page .form-grid label { align-content: start; gap: .45rem; color: var(--nx-ink); font-weight: 650; }
.product-create-page .form-grid input { width: 100%; min-width: 0; }
.product-field-hint { min-height: 1.1rem; color: var(--nx-muted); font-size: .78rem; font-weight: 400; line-height: 1.4; }
.product-create-page .form-actions { gap: .75rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--nx-border); }
.product-create-page .form-actions .primary-link { min-width: 10rem; }
.product-create-page .form-cancel-link { box-sizing: border-box; display: inline-flex; min-height: var(--nx-control-height); align-items: center; justify-content: center; padding: .55rem .85rem; border: 1px solid var(--nx-border); border-radius: var(--nx-control-radius); color: var(--nx-ink); font-size: .9rem; line-height: 1.2; text-decoration: none; }
.product-create-page .form-cancel-link:hover { border-color: var(--nx-primary); color: var(--nx-primary); }
@media (max-width: 600px) {
    .product-create-page { width: 100%; margin: .5rem auto; padding: 1.1rem; }
    .product-create-page .form-grid { grid-template-columns: minmax(0, 1fr); gap: .9rem; }
}
@media (max-width: 380px) {
    .product-create-page .form-actions { align-items: stretch; flex-direction: column; }
    .product-create-page .form-actions > * { width: 100%; }
}

/* Nexora user administration */
.users-page { width: min(100%, 1120px); margin: 1rem auto 2rem; }
.users-heading { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.35rem; }
.users-heading h1,.users-form-page h1 { margin:.15rem 0 .35rem;color:var(--nx-ink);font-size:clamp(1.8rem,4vw,2.35rem);letter-spacing:-.04em; }
.users-heading p:last-child,.users-form-page .product-create-heading>p:last-child { margin:0;color:var(--nx-muted); }
.users-heading .primary-link { min-width:9.5rem; }
.users-table-wrap { overflow-x:auto;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:#fff;box-shadow:var(--nx-shadow-card); }
.users-table { width:100%;border-collapse:collapse;text-align:left; }
.users-table th,.users-table td { padding:.9rem 1rem;border-bottom:1px solid #ececf4;vertical-align:middle; }
.users-table th { color:#656981;background:#fafaff;font-size:.78rem;font-weight:750;letter-spacing:.04em; }
.users-table td:first-child { color:var(--nx-ink);font-weight:620;overflow-wrap:anywhere; }
.users-table tbody tr:last-child td { border-bottom:0; }
.user-badge { display:inline-flex;align-items:center;justify-content:center;min-height:1.7rem;padding:.2rem .62rem;border-radius:999px;font-size:.78rem;font-weight:700; }
.user-badge.is-active { color:#137957;background:#e6f7ef; }.user-badge.is-inactive { color:#8b4a26;background:#fff0e4; }
.user-actions { display:flex;flex-wrap:wrap;align-items:center;gap:.35rem; }.user-actions form { margin:0; }.user-actions a,.user-actions button { min-height:2.25rem;padding:.4rem .58rem;font-size:.8rem; }
.user-actions form:last-child button { color:#644ed2; }
.users-notice,.temporary-password { margin:0 0 1rem;padding:1rem 1.15rem;border:1px solid #ccebdc;border-radius:var(--nx-radius-sm);background:#f1fbf6;color:#246749;line-height:1.5; }
.temporary-password h2 { margin:0 0 .6rem;font-size:1.05rem; }.temporary-password p { margin:.35rem 0; }
.temporary-password code { display:inline-block;margin:.15rem 0;padding:.55rem .75rem;border:1px dashed #83c5a5;border-radius:.5rem;background:#fff;color:#1d4b37;font-size:1.12rem;font-weight:750;letter-spacing:.04em;user-select:all; }
.users-form-page { max-width:760px; }.users-form-page .form-grid { margin:0; }.users-form-page label { display:grid;align-content:start;gap:.45rem;color:var(--nx-ink);font-weight:650; }.users-form-page input,.users-form-page select { width:100%; }.users-form-page .user-active-field { display:flex;align-items:center;gap:.65rem; }.users-form-page .user-active-field input { width:1rem;min-height:1rem;accent-color:var(--nx-primary); }.users-form-page .form-actions { gap:.7rem;margin-top:1.4rem; }.field-error { color:#a3202d;font-size:.82rem; }.validation-summary { margin:0 0 1rem;color:#a3202d; }
.users-form-page .user-form-field { display:grid;align-content:start;gap:.45rem;min-width:0; }
.users-form-page .user-active-field { grid-template-columns:auto 1fr;justify-content:start;align-items:center;column-gap:.65rem;row-gap:.25rem; }
.users-form-page .user-active-field label { display:block; }.users-form-page .user-active-field .field-error { grid-column:1/-1; }
.users-form-page .user-admin-role { min-height:var(--nx-control-height);display:flex;align-items:center;margin:0;padding:.55rem .65rem;color:var(--nx-ink); }
.user-actions a,.user-actions button { box-sizing:border-box;min-width:7rem;min-height:2.35rem;justify-content:center;text-align:center;line-height:1.2; }
.user-actions a { border-color:#ddd9f6;background:#fff;color:#514b78; }.user-actions form:not(:last-child) button { border-color:#ddd9f6;background:#fff;color:#514b78; }
.user-actions form:last-child button { border-color:#ddd9f6;background:#f7f5ff;color:#5f4cc3; }
.users-heading .primary-link { display:inline-flex;align-items:center;justify-content:center;text-align:center; }
@media(max-width:760px) { .users-table th,.users-table td { padding:.75rem .65rem; }.user-actions { align-items:stretch;flex-direction:column; }.user-actions>* { width:100%; }.user-actions a,.user-actions button { width:100%; } }
@media(max-width:600px) { .users-heading { align-items:flex-start;flex-direction:column; }.users-heading .primary-link { width:100%; }.users-table-wrap { overflow:visible;border:0;background:transparent;box-shadow:none; }.users-table,.users-table tbody { display:grid;gap:.75rem; }.users-table thead { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%); }.users-table tr { display:grid;gap:.5rem;padding:.9rem;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:#fff;box-shadow:0 5px 20px #1b1b670a; }.users-table td { display:grid;grid-template-columns:5.1rem minmax(0,1fr);gap:.6rem;padding:.25rem;border:0; }.users-table td::before { color:var(--nx-muted);font-size:.78rem;font-weight:700;content:attr(data-label); }.users-table td:last-child { display:block;padding-top:.5rem;border-top:1px solid #ececf4; }.users-table td:last-child::before { display:block;margin-bottom:.45rem; }.user-actions { display:grid;grid-template-columns:1fr 1fr; }.user-actions form:last-child { grid-column:1/-1; }.users-form-page { width:100%;margin:.5rem auto;padding:1.1rem; }.users-form-page .form-grid { grid-template-columns:1fr; }.users-form-page .form-actions { align-items:stretch;flex-direction:column; }.users-form-page .form-actions>* { width:100%; } }
