/* Page feedback floats above every workspace instead of changing its layout. */
.page-overlay-notice{position:fixed!important;z-index:1200;top:82px;right:18px;display:grid!important;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:10px;width:min(540px,calc(100vw - 36px));margin:0!important;padding:12px 14px!important;border-radius:10px!important;box-shadow:0 14px 38px rgba(15,23,42,.24)!important;animation:page-overlay-enter .18s ease-out}
.page-overlay-notice[data-toast-order="1"]{top:160px}.page-overlay-notice[data-toast-order="2"]{top:238px}.page-overlay-notice-close{align-self:start;border:0;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer}
@keyframes page-overlay-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.page-overlay-notice{top:70px;right:10px;width:calc(100vw - 20px)}}

:root { --background:#f3f5f8; --surface:#fff; --surface-soft:#f7f9fb; --sidebar:#101828; --sidebar-muted:#98a2b3; --text:#1d2939; --muted:#667085; --border:#e4e7ec; --accent:#e53e3e; --accent-dark:#c53030; --green:#12b76a; --yellow:#f79009; --red:#f04438; --blue:#2e90fa; --shadow:0 2px 10px rgba(16,24,40,.05); }
*{box-sizing:border-box} body{margin:0;min-height:100vh;color:var(--text);background:var(--background);font-family:Inter,"Segoe UI",Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;display:flex;width:255px;padding:24px 18px;flex-direction:column;overflow-y:auto;background:var(--sidebar);color:#fff}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{display:grid;width:40px;height:40px;border-radius:10px;place-items:center;background:var(--accent);font-size:22px;font-weight:800}.brand strong,.brand span{display:block}.brand span{margin-top:2px;color:var(--sidebar-muted);font-size:12px}nav{display:flex;gap:18px;margin-top:22px;flex-direction:column}.nav-label{margin:0 0 5px;padding:0 12px;color:var(--sidebar-muted);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.nav-links{display:flex;gap:2px;flex-direction:column}nav a{padding:10px 12px;border-radius:7px;color:#d0d5dd;font-size:14px;font-weight:500;text-decoration:none}nav a:hover,nav a.active{background:rgba(255,255,255,.09);color:#fff}nav a.active{border-left:3px solid var(--accent)}.sidebar-footer{margin-top:auto;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.08);color:#d0d5dd;font-size:13px}.sidebar-footer small{display:block;margin:6px 0 0 16px;color:var(--sidebar-muted)}main{margin-left:255px;padding:34px 38px 50px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{margin:0 0 5px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:30px}.subtitle{margin:8px 0 0;color:var(--muted)}.manager-status{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);font-size:13px;font-weight:600}.status-dot,.environment-dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:var(--green)}.status-dot.warning,.status-dot.degraded{background:var(--yellow)}.status-dot.offline,.status-dot.danger,.status-dot.error{background:var(--red)}.status-dot.success,.status-dot.online{background:var(--green)}.metric-grid,.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.metric-card,.panel,.detail-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.metric-card{color:inherit;text-decoration:none}.metric-card,.detail-card{padding:20px}.metric-card span,.metric-card small,.detail-card>span,.detail-card small{display:block;color:var(--muted)}.metric-card strong{display:block;margin:9px 0 7px;font-size:30px}.status-card.success{border-top:3px solid var(--green)}.status-card.warning{border-top:3px solid var(--yellow)}.status-card.danger{border-top:3px solid var(--red)}.detail-card>span{margin-bottom:8px;font-size:12px;font-weight:700;text-transform:uppercase}.detail-card strong{display:block;margin-bottom:5px;font-size:16px}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.panel{overflow:hidden}.panel.wide{grid-column:1/-1}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--border)}.panel-heading h2,.panel-heading h3{margin:0;font-size:17px}.panel-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.primary-button,.secondary-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--border);border-radius:7px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark)}.primary-button:disabled{border-color:#d0d5dd;background:#d0d5dd;color:#667085;cursor:not-allowed}.secondary-button{background:var(--surface-soft);color:var(--muted)}.compact-button{min-height:32px;padding:5px 10px;font-size:12px}.header-actions,.printer-header-actions,.filter-actions,.form-actions,.period-links{display:flex;align-items:center;gap:10px}.period-links a{color:var(--muted);text-decoration:none;font-size:12px}.period-links strong{padding:5px 8px;border-radius:6px;background:var(--surface-soft);font-size:12px}.breadcrumb{margin:0 0 18px;color:var(--muted);font-size:13px}.breadcrumb a{color:#175cd3;font-weight:600;text-decoration:none}.entity-link{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:5px 10px;border:1px solid #b8c4d4;border-radius:7px;background:var(--surface-soft);color:#175cd3;font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;box-shadow:0 1px 2px rgba(16,24,40,.05)}.entity-link:hover{border-color:#84adff;background:#eff8ff;color:#004eeb}.identifier{font-family:Consolas,monospace;font-weight:600}.filter-bar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)) auto;align-items:end;gap:14px;margin-bottom:22px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.filter-bar.filter-bar-wide{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(135px,1fr)) auto}.filter-bar.filter-bar-extra-wide{grid-template-columns:minmax(250px,1.8fr) repeat(4,minmax(125px,1fr)) auto}.filter-field label{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.filter-field input,.filter-field select,.form-field input,.form-field select,textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-size:13px}.js-enabled .filter-submit{display:none}.printer-fleet-list,.agent-service-list,.location-card-list{display:grid}.printer-fleet-row{display:grid;grid-template-columns:minmax(300px,1.3fr) minmax(260px,1fr) auto;align-items:center;gap:20px;padding:16px 20px;border-bottom:1px solid var(--border)}.printer-fleet-row:hover,.agent-service-row:hover,.location-card-row:hover{background:var(--surface-soft)}.printer-fleet-main{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;color:inherit;text-decoration:none}.printer-fleet-main strong,.printer-fleet-main span,.printer-fleet-main small,.printer-fleet-meta span,.printer-fleet-meta small{display:block}.printer-fleet-main span,.printer-fleet-main small,.printer-fleet-meta small{margin-top:4px;color:var(--muted);font-size:12px}.printer-fleet-actions{display:flex;gap:8px}.agent-service-row,.location-card-row{display:grid;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.agent-service-row{grid-template-columns:auto minmax(260px,1fr) minmax(160px,.4fr) auto}.location-card-row{grid-template-columns:auto minmax(260px,1fr) 90px 90px auto}.location-card-row>div,.agent-service-row>div{display:grid;gap:4px}.location-card-row span,.location-card-row small,.agent-service-row span,.agent-service-row small{color:var(--muted);font-size:12px}.location-count{text-align:center}.location-count strong{font-size:18px}.location-open,.agent-open{color:#175cd3;font-weight:700}.definition-list{margin:0;padding:8px 22px 20px}.definition-list>div{display:grid;grid-template-columns:minmax(120px,.5fr) 1fr;gap:15px;padding:12px 0;border-bottom:1px solid var(--border)}.definition-list dt{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.definition-list dd{margin:0}.stacked-actions{display:grid;gap:10px;padding:20px 22px}.function-groups{display:grid;gap:18px;padding:20px 22px}.function-group{border:1px solid var(--border);border-radius:10px;overflow:hidden}.printer-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto) auto;align-items:center;gap:18px;padding:14px 15px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.printer-option span,.printer-option small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.status-list{padding:4px 20px}.status-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:15px 2px;border-bottom:1px solid var(--border)}.status-item span,.status-item small{color:var(--muted);font-size:11px}.today-printing{margin-bottom:22px}.print-volume-grid{padding:20px 20px 0;grid-template-columns:repeat(2,minmax(0,1fr))}.print-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 20px}.print-category-card{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.print-category-card>div{display:flex;align-items:center}.print-category-card>strong{display:block;margin:12px 0 4px;font-size:24px}.print-category-card small{color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:14px 18px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}th{background:var(--surface-soft);color:var(--muted);font-size:11px;text-transform:uppercase}.empty-state{padding:32px;color:var(--muted);text-align:center}.attention-banner{display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 18px;color:#93370d;background:#fffaeb;border:1px solid #fedf89;border-radius:10px;text-decoration:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px}.form-actions{padding:0 24px 24px}.form-error,.form-success{margin:20px 24px 0;padding:12px 14px;border-radius:8px}.form-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.form-success{color:#027a48;background:#ecfdf3;border:1px solid #abefc6}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 10px;border-radius:999px;background:#eff8ff;color:#175cd3;font-size:12px;font-weight:600}.device-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;padding:20px}.device-model-card{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.device-model-visual{display:grid;min-height:180px;place-items:center;padding:18px;background:linear-gradient(180deg,#fbfcfd,#f2f4f7);text-decoration:none}.device-model-visual img{display:block;max-width:100%;max-height:160px;object-fit:contain}.device-image-placeholder{color:var(--muted);text-align:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.device-image-placeholder strong{display:block;margin-top:7px;color:var(--text);font-size:17px;letter-spacing:0;text-transform:none}.device-model-content{padding:18px}.device-model-content h3{margin:0 0 5px}.device-model-content h3 a{color:var(--text);text-decoration:none}.pilot-label-preview{display:grid;gap:7px;max-width:520px;margin:20px;padding:20px;border:2px solid var(--text);border-radius:8px;background:#fff}.status-pill{display:inline-flex;align-items:center;gap:.3rem;width:fit-content;padding:.15rem .48rem;border-radius:999px;font-size:.72rem;font-weight:800}.status-pill.success{color:#137a45;background:#e8f7ef}.status-pill.warning{color:#946200;background:#fff5d6}.status-pill.danger{color:#b42318;background:#ffebe9}.designer-shell{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(520px,2fr) minmax(220px,.8fr);gap:1rem;align-items:start}.designer-stage-wrap{min-height:420px;overflow:auto;display:grid;place-items:center;padding:2rem;border-radius:12px;background:#eef1f5}.designer-stage{position:relative;flex:none;background:#fff;border:1px solid #273142;box-shadow:0 8px 25px rgba(31,42,55,.16);overflow:hidden}.designer-raster-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;image-rendering:pixelated;pointer-events:none}.designer-node{position:absolute;box-sizing:border-box;overflow:hidden;border:1px dashed #8b95a5;color:transparent;background:transparent;cursor:move}.designer-node.selected{border:2px solid #ef4b55;background:rgba(239,75,85,.04);z-index:2}.designer-toolbar,.designer-printer-actions,.designer-add-printer-fields{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.designer-element-list{display:grid;gap:.4rem}.designer-element-list button{width:100%;text-align:left;border:1px solid #dce1e8;background:#fff;color:#273142}.designer-element-list button.selected{border-color:#ef4b55;background:#fff1f2}.designer-save{grid-column:1/-1}.designer-save form,.designer-save-fields{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(200px,1fr) minmax(200px,1fr);gap:1rem}.designer-test-printers{grid-column:1/-1;border-top:1px solid var(--border);padding:20px 22px}.designer-printer-cards{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:1rem}.designer-printer-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;width:100%;border:1px solid var(--border);border-radius:.65rem;padding:14px 16px;background:var(--surface)}.designer-printer-card:has(.status-pill.success){border-left:4px solid var(--green)}.designer-printer-card:has(.status-pill.warning){border-left:4px solid var(--yellow)}.designer-printer-card:has(.status-pill.danger){border-left:4px solid var(--red)}.designer-printer-identity{display:flex;align-items:center;gap:8px}.designer-printer-identity span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.printer-card-heading{display:flex;align-items:center;gap:9px}.designer-printer-result{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;width:100%;padding:10px}

/* A pulsing green Agent lamp means that Print Manager is receiving live communication. */
@keyframes traze-agent-online-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, .44); }
  50% { box-shadow: 0 0 0 5px rgba(22, 163, 74, 0); }
}
.agent-online-indicator.online {
  animation: traze-agent-online-pulse 1.8s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .agent-online-indicator.online { animation: none; }
}


/* Compact receipt-test workspace */
.receipt-test-body main{padding-top:20px;padding-bottom:24px}
.receipt-test-workspace{display:grid;gap:12px}
.receipt-test-header{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px}
.receipt-test-header .context-back{margin:0}
.receipt-test-header h1{font-size:25px}
.receipt-test-header .subtitle{margin-top:3px;font-size:12px}
.receipt-test-error{margin:0}
.receipt-test-success{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:10px 14px}
.receipt-test-success-copy{display:flex;align-items:baseline;gap:6px;min-width:0}
.receipt-test-success-copy small{color:inherit;font-size:12px}
.receipt-test-success .secondary-button{flex:0 0 auto;margin:0;background:#fff}
.receipt-test-action-panel{display:grid;grid-template-columns:210px minmax(0,1fr) 300px;align-items:stretch;min-height:174px}
.receipt-test-preview{display:grid;align-content:center;justify-items:center;gap:6px;padding:12px;background:#eef1f5;border-right:1px solid var(--border)}
.receipt-test-preview>small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.receipt-paper{display:grid;width:154px;min-height:126px;align-content:center;gap:7px;padding:14px 12px;border:1px solid #98a2b3;background:#fff;box-shadow:0 5px 14px rgba(16,24,40,.12);text-align:center}
.receipt-paper strong{font-size:12px;letter-spacing:.05em}
.receipt-paper span{font-size:16px;font-weight:900}
.receipt-paper i{display:block;border-top:1px dashed #98a2b3}
.receipt-paper small{font-size:9px}
.receipt-test-printer{display:grid;align-content:center;gap:4px;padding:18px 22px}
.receipt-test-printer h2{margin:0;font-size:20px}
.receipt-test-printer p,.receipt-test-printer span,.receipt-test-printer small{margin:0;color:var(--muted)}
.receipt-test-printer .identifier{color:var(--text);font-weight:800}
.receipt-ready-state{display:flex;align-items:center;gap:5px;margin-top:10px}
.receipt-ready-state small{margin-left:4px}
.receipt-test-action-stack{display:grid;align-content:center;gap:8px;padding:12px 14px;border-left:1px solid var(--border);background:var(--surface-soft)}
.receipt-test-submit{display:grid;align-content:center;gap:7px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.receipt-test-action-stack>form:first-child{border-color:#f1a49e;background:#fffafa}
.receipt-test-submit-technical{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:9px 12px}
.receipt-test-submit-technical p{display:none}
.receipt-test-submit p{margin:0;color:var(--muted);font-size:11px;line-height:1.35}
.receipt-print-button{min-height:44px;font-size:14px}
.receipt-paper-production span{font-size:12px}
.receipt-paper-production strong:last-child{font-size:14px}
.receipt-test-details{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:12px}
.receipt-compact-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.receipt-compact-heading h2{margin:0;font-size:15px}
.receipt-compact-heading .eyebrow{margin-bottom:2px;font-size:9px}
.receipt-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:4px 16px 10px}
.receipt-definition-grid>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;min-width:0;padding:8px 0;border-bottom:1px solid var(--border)}
.receipt-definition-grid>div:nth-child(odd){padding-right:14px}
.receipt-definition-grid>div:nth-child(even){padding-left:14px;border-left:1px solid var(--border)}
.receipt-definition-grid .receipt-wide-detail{grid-column:1/-1;padding-right:0;border-left:0}
.receipt-definition-grid dt{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}
.receipt-definition-grid dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:12px}
.receipt-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:4px 16px 10px}
.receipt-check{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:9px 0;border-bottom:1px solid var(--border)}
.receipt-check span:nth-child(2){display:grid;min-width:0}
.receipt-check strong{font-size:12px}
.receipt-check small{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.receipt-check b{color:var(--muted);font-size:9px}
@media(max-width:1100px){
  .receipt-test-action-panel{grid-template-columns:180px 1fr}
  .receipt-test-action-stack{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;border-top:1px solid var(--border);border-left:0}
  .receipt-test-submit{height:100%}
  .receipt-test-submit p{display:none}
  .receipt-test-submit-technical{grid-template-columns:1fr}
  .receipt-test-details{grid-template-columns:1fr}
}
@media(max-width:720px){
  .receipt-test-success{align-items:flex-start;flex-direction:column}
  .receipt-test-success-copy{align-items:flex-start;flex-direction:column}
  .receipt-test-action-stack{grid-template-columns:1fr}
  .receipt-test-action-panel,.receipt-test-details{grid-template-columns:1fr}
  .receipt-test-preview{border-right:0;border-bottom:1px solid var(--border)}
  .receipt-test-submit{grid-template-columns:1fr}
  .receipt-definition-grid,.receipt-check-grid{grid-template-columns:1fr}
  .receipt-definition-grid>div:nth-child(even){padding-left:0;border-left:0}
}


/* Shared action treatment: consistent type, contrast and a tangible raised affordance. */
.primary-button,.secondary-button,.context-back,.entity-link,.danger-button{font-family:inherit;font-size:13px;font-weight:700;letter-spacing:0;box-shadow:0 2px 5px rgba(16,24,40,.16);transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease,color .14s ease}
.secondary-button,.context-back,.entity-link{background:#fff;color:#344054;border-color:#b8c4d4}
.primary-button:hover{color:#fff;background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 5px 11px rgba(190,39,46,.28)}
.secondary-button:hover,.context-back:hover,.entity-link:hover{color:#1d2939!important;background:#eef4fb;border-color:#7d9bc0;transform:translateY(-1px);box-shadow:0 5px 11px rgba(16,24,40,.18)}
.danger-button:hover{transform:translateY(-1px);box-shadow:0 5px 11px rgba(180,35,24,.22)}
.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.primary-button:disabled:hover,.secondary-button:disabled:hover,.danger-button:disabled:hover{transform:none;box-shadow:none;color:#667085!important;cursor:not-allowed}
