:root{color-scheme:light;font-family:Avenir Next,Nunito Sans,ui-sans-serif,system-ui,sans-serif;--bg: #f2f0ea;--ink: #16231f;--muted: #6e7671;--panel: #3d352e;--panel-soft: #51473d;--line: #d7d3c9;--tile: #fbfbf8;--accent: #1473e0;--accent-strong: #0f5fbd;--accent-soft: rgba(20, 115, 224, .18);--page-background: radial-gradient(circle at 8% 8%, rgba(255, 255, 255, .98) 0 18%, rgba(255, 255, 255, .72) 34%, transparent 58%), radial-gradient(circle at 72% 10%, rgba(20, 115, 224, .34) 0, rgba(20, 115, 224, .18) 34%, transparent 62%), radial-gradient(circle at 18% 82%, rgba(20, 115, 224, .18) 0, rgba(20, 115, 224, .1) 38%, transparent 66%), radial-gradient(circle at 88% 78%, rgba(20, 115, 224, .3) 0, rgba(20, 115, 224, .12) 36%, transparent 66%), linear-gradient(135deg, #ffffff 0%, #f5f9ff 30%, #e7f1ff 58%, #dbeaff 100%);--mint: #8ed7bd;--danger: #c7352a;--radius: 8px}html{min-height:100%;background-color:#dbeaff;background-image:var(--page-background);background-repeat:no-repeat;background-size:cover;overscroll-behavior:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background-color:#dbeaff;background-image:var(--page-background);background-repeat:no-repeat;background-size:cover;overflow-x:hidden;overscroll-behavior:none;color:var(--ink)}body.modal-open,body.modal-open #root{overflow:hidden}#root{min-height:100vh;min-height:100dvh}@supports (-webkit-touch-callout: none){html,body{height:100%;overflow:hidden}body{position:fixed;inset:0;width:100%}#root{height:100dvh;overflow-x:hidden;overflow-y:auto;background-color:#dbeaff;background-image:var(--page-background);background-repeat:no-repeat;background-size:cover;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.55}input,select{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);padding:12px 14px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ee542429}label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:0}.app-shell{width:min(1680px,calc(100vw - 32px));margin:24px auto}.topbar,.admin-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px}.admin-header{border:1px solid rgba(255,255,255,.62);border-radius:var(--radius);background:#ffffffb8;box-shadow:0 18px 44px #1418161f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar h1,.admin-header h2{margin:0;font-size:clamp(24px,3vw,42px);line-height:1}.tenant-kicker{margin:0 0 6px;color:var(--accent-strong);font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.topbar-actions,.modal-actions,.status-row,.builder-actions,.tool-row,.lot-actions,.history-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-button,.ghost-button,.danger-button,.icon-button{min-height:44px;border:0;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:900}.primary-button{background:var(--accent);color:#fff;box-shadow:inset 0 -2px #0000001f}.primary-button:hover{background:var(--accent-strong)}.ghost-button{background:#ffffffc7;color:var(--ink);border:1px solid rgba(0,0,0,.08)}.danger-button{background:#fff0ee;color:var(--danger)}.icon-button{width:48px;padding:0;background:#fff;color:var(--ink);border:1px solid rgba(0,0,0,.08)}.icon-button.large{width:62px;height:62px}.copies-control .icon-button.large{border:2px solid #dfe4e1;justify-self:center}.icon-button.active{color:var(--accent);border-color:var(--accent)}.fullscreen-button{position:fixed;left:16px;bottom:16px;z-index:30;width:54px;height:54px;display:grid;place-items:center;border:0;border-radius:50%;background:#12231fd1;color:#fff;box-shadow:0 12px 30px #12231f38;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.fullscreen-button:hover{background:var(--accent)}.employee-actions{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fullscreen-inline-button{flex:0 0 auto}.compact{min-height:34px;padding:0 10px;font-size:13px}.icon-only{width:42px;padding:0}.wide{width:100%}.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px}.login-panel{width:min(440px,100%);display:grid;gap:18px;padding:28px;border-radius:var(--radius);background:#ffffffd9;box-shadow:0 24px 80px #0f11102e}.login-panel h1,.pin-modal h2,.print-modal h2{margin:0;font-size:clamp(28px,4vw,40px)}.login-mark{width:62px;height:62px;display:grid;place-items:center;border-radius:var(--radius);background:var(--ink);color:#fff}.employee-layout,.admin-layout,.super-layout{margin-top:24px}.employee-layout{padding:0;background:transparent}.workspace-panel{min-height:640px;padding:24px;border-radius:var(--radius);background:radial-gradient(circle at 16% 10%,rgba(255,241,221,.16) 0,rgba(255,241,221,.08) 30%,transparent 58%),radial-gradient(circle at 84% 12%,rgba(255,232,205,.1) 0,transparent 44%),radial-gradient(circle at 88% 88%,rgba(255,235,210,.12) 0,transparent 48%),linear-gradient(150deg,#4a4036 0%,var(--panel) 48%,#302a25 100%);color:#fff;box-shadow:0 30px 80px #2d251e3d}.segmented,.admin-tabs{display:flex;gap:10px;flex-wrap:wrap}.segmented button,.admin-tabs button{min-height:52px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:0 20px;display:inline-flex;align-items:center;gap:10px;background:#ffffff14;color:#ffffffb8;font-weight:900}.segmented .active,.admin-tabs .active{background:var(--accent);color:#fff;border-color:transparent}.admin-tabs{margin:18px 0}.admin-tabs button{background:#fff;color:var(--ink);border-color:var(--line)}.admin-tabs .active{background:var(--ink)}.bluetooth-button{min-height:44px;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:900;background:#fff;color:var(--ink)}.bluetooth-button.connected{background:#1f9d62;color:#fff;border-color:#1f9d62}.dot{width:10px;height:10px;border-radius:50%;background:#f2b866}.dot.ok{background:var(--mint)}.notice,.inline-error{border-radius:var(--radius);padding:12px 14px;font-weight:800}.notice{margin:16px 0;background:#8ed7bd2e;color:#174234}.workspace-panel .notice{color:#dff8ef}.notice.warning{background:#f2b86629;color:#ffe0a4}.inline-error{background:#fff0ee;color:var(--danger)}.search-box{margin:22px 0;display:flex;align-items:center;gap:12px;min-height:58px;padding:0 18px;border-radius:var(--radius);background:#ffffff1a;border:1px solid rgba(255,255,255,.1)}.search-box input{border:0;box-shadow:none;background:transparent;color:#fff;font-size:20px}.search-box input::placeholder{color:#ffffff85}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.product-tile{min-height:132px;border:0;border-radius:var(--radius);background:var(--tile);color:var(--ink);display:grid;place-items:center;padding:16px;box-shadow:inset 0 -3px #0000000a;contain:layout paint}.product-tile span{overflow-wrap:anywhere;text-align:center;font-size:clamp(19px,2.2vw,28px);font-weight:950;line-height:1.05}.product-tile small{color:var(--muted);font-weight:900}.lot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:24px}.lot-card{display:grid;gap:8px;padding:16px;border-radius:var(--radius);background:var(--tile);color:var(--ink)}.lot-card strong{font-size:18px}.lot-card span{font-size:24px;font-weight:950}.lot-card small,.empty-state{color:var(--muted);font-weight:800}.workspace-panel .flow-state{margin-top:28px;color:#ffffffb8}.flow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:24px}.flow-tile{min-height:150px;border:0;border-radius:var(--radius);background:var(--tile);color:var(--ink);display:grid;align-content:center;justify-items:start;gap:8px;padding:18px;text-align:left}.flow-tile strong{font-size:26px;line-height:1.05}.flow-tile span{color:var(--accent);font-weight:950}.flow-tile small{color:var(--muted);font-weight:800;line-height:1.35}.flow-run-modal{width:min(680px,100%)}.flow-run-steps,.flow-lot-inputs{display:grid;gap:10px}.flow-run-step{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:var(--radius);background:#f5f7fb}.flow-run-step span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:950}.flow-run-step small{color:var(--muted);font-weight:900}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#0f100f9e}.pin-modal,.print-modal{width:min(520px,100%);display:grid;gap:18px;padding:24px;border-radius:var(--radius);background:#fff;box-shadow:0 32px 90px #00000052}.pin-modal p{margin:0;color:var(--muted);font-weight:700}.lot-required-modal p{margin:0;color:#000;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;font-weight:600;line-height:1.5}.lot-required-modal strong{color:#000;font-weight:800}.lot-required-modal label,.lot-required-modal input,.lot-required-modal .primary-button,.lot-required-modal .ghost-button,.lot-required-modal .inline-error{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lot-required-modal label{color:#000;font-size:13px;font-weight:700}.lot-required-modal input{font-size:20px;font-weight:600}.pin-modal input{text-align:center;font-size:34px;font-weight:950;letter-spacing:0}.lot-strip{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:var(--radius);background:#f5f5f1}.lot-strip span{color:var(--muted);font-weight:900}.lot-strip strong{font-size:24px}.copies-control{display:grid;grid-template-columns:62px 1fr 62px;gap:16px;align-items:center}.copies-control div{min-height:82px;display:grid;place-items:center;border-radius:var(--radius);background:var(--ink);color:#fff}.copies-control span{font-size:40px;font-weight:950;line-height:1}.copies-control small{color:#ffffffbd;font-weight:900}.hidden-canvas{display:none}.admin-layout{display:block}.admin-grid,.super-layout{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}.admin-grid-list{grid-template-columns:1fr}.admin-form,.settings-panel,.history-panel,.label-builder,.data-table-wrap{border-radius:var(--radius);background:#ffffffd6;border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 44px #1418161a}.admin-form,.settings-panel{display:grid;gap:14px;padding:18px}.admin-form h3,.settings-panel h3,.builder-sidebar h3,.element-editor h3{margin:0}.settings-help{margin:0;max-width:760px;color:var(--muted);font-weight:800;line-height:1.45}.advanced-settings{display:grid;gap:14px}.advanced-settings[open]{margin-top:4px}.advanced-settings summary{cursor:pointer;font-weight:900}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-title{display:flex;align-items:center;gap:10px}.form-title h2{margin:0}.form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-heading h3{margin:0}.check-row{grid-template-columns:20px 1fr;align-items:center;color:var(--ink);text-transform:none}.check-row input{width:18px;height:18px}.data-table-wrap{overflow:auto}.product-list-wrap{overflow:hidden}.product-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid var(--line)}.product-list-toolbar h3,.product-list-toolbar p{margin:0}.product-list-toolbar p{margin-top:4px;color:var(--muted);font-weight:800}.product-table-scroll{overflow:auto}.product-edit-modal{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px;table-layout:fixed}.data-table .label-col{width:36%}.data-table .expiry-col{width:18%}.data-table .lot-col,.data-table .status-col{width:14%}.data-table .actions-col{width:18%}.data-table th,.data-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:0}.selectable-row{cursor:pointer}.selectable-row:hover td{background:#ee54240f}.selectable-row.selected td{background:#ee54241c}.table-actions{display:flex;gap:8px;justify-content:flex-end}.table-actions .action-toggle{width:104px}.history-panel{padding:16px}.reports-panel{gap:18px}.report-card{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:center;max-width:760px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb3}.report-date-summary{display:grid;gap:5px}.report-date-summary span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.report-date-summary strong{color:var(--ink);font-size:clamp(24px,4vw,34px);line-height:1}.report-card .primary-button{min-height:56px;padding-inline:22px}.report-modal{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.report-modal-copy{margin:8px 0 0;color:var(--muted);font-weight:750;line-height:1.45}.report-date-grid{display:grid;grid-template-columns:.7fr 1.4fr .9fr;gap:12px}.report-date-grid select{min-height:56px;font-size:20px;font-weight:900}.report-modal .notice.warning{color:#5e3b00}.report-modal-actions{justify-content:flex-end}.flow-manager{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}.flow-list-panel{display:grid;gap:12px;border-radius:var(--radius);background:#ffffffd6;border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 44px #1418161a;padding:16px}.flow-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.flow-list-heading h3{margin:0}.flow-form{position:static}.flow-active-check{align-self:end;min-height:48px}.flow-steps-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.flow-steps-header h4,.flow-steps-header p{margin:0}.flow-steps-header p{color:var(--muted);font-weight:700;text-transform:none}.flow-step-list{display:grid;gap:10px}.flow-step-editor{display:grid;grid-template-columns:44px minmax(280px,1fr) 110px auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.step-number{width:30px;height:44px;display:grid;place-items:center;border-radius:var(--radius);background:var(--ink);color:#fff;font-weight:950}.step-actions{display:flex;gap:6px}.step-actions .icon-button,.step-actions .danger-button{width:38px;min-height:38px}.flow-card-list{display:grid;gap:12px}.flow-card,.empty-flow-list{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:none;color:var(--ink);text-align:left;padding:14px}.flow-card{display:grid;gap:8px}.flow-card:hover,.flow-card.selected{border-color:var(--accent);background:#1473e014}.flow-card div{display:flex;justify-content:space-between;gap:12px}.flow-card strong{font-size:20px}.flow-card span,.flow-card small,.empty-flow-list span{color:var(--muted);font-weight:800}.empty-flow-list{display:grid;gap:6px}.history-filters{margin-bottom:14px}.history-filters input{max-width:260px}.label-builder{display:grid;grid-template-columns:280px 1fr;min-height:560px;overflow:hidden}.builder-sidebar{display:grid;align-content:start;gap:18px;padding:18px;border-right:1px solid var(--line)}.palette{display:flex;flex-wrap:wrap;gap:8px}.element-editor{display:grid;gap:12px}.builder-stage{padding:24px;overflow:hidden}.label-canvas-viewport{width:100%;max-width:960px;overflow:hidden;aspect-ratio:10 / 3;min-height:96px}.label-canvas{position:relative;width:960px;height:288px;background:#fff;border:1px solid #222;box-shadow:0 18px 38px #0000002e;transform-origin:top left;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.label-element{position:absolute;display:block;overflow:hidden;border:1px dashed rgba(0,0,0,.3);border-radius:0;background:transparent;color:#000;padding:0 3px;line-height:1;white-space:nowrap;cursor:move;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.label-element.selected{border:2px solid var(--accent);background:#ee542414}.label-element span{pointer-events:none}.resize-handle{position:absolute;right:0;bottom:0;width:12px;height:12px;background:transparent;cursor:nwse-resize;touch-action:none}.resize-handle:after{content:"";position:absolute;right:0;bottom:0;width:12px;height:12px;border-left:2px solid var(--accent);border-top:2px solid var(--accent);background:#fff}.touch-editor-ios .label-canvas-viewport,.touch-editor-ios .label-canvas,.touch-editor-ios .label-element,.touch-editor-ios .resize-handle{touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-editor-ios .resize-handle{width:88px;height:88px;pointer-events:none}.touch-editor-ios .resize-handle:after{width:26px;height:26px;border-left-width:4px;border-top-width:4px}.builder-actions{margin:18px 0}.label-preview{width:min(960px,100%);height:auto;aspect-ratio:10 / 3;background:#fff;border:1px solid var(--line)}.label-preview.hidden-preview{display:none}@media(max-width:900px){.app-shell{width:min(100vw - 18px,100%);margin:9px auto}.topbar,.admin-header{align-items:flex-start;flex-direction:column}.employee-actions{margin-left:0}.workspace-panel{padding:14px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.product-tile{min-height:112px}.admin-grid,.super-layout,.flow-manager,.label-builder{grid-template-columns:1fr}.flow-form{position:static}.flow-step-editor{grid-template-columns:34px 1fr}.step-actions{grid-column:1 / -1}.builder-sidebar{border-right:0;border-bottom:1px solid var(--line)}.builder-stage{padding:14px}.palette .ghost-button{flex:1 1 128px}.tool-row{justify-content:space-between}.tool-row .icon-button,.tool-row .danger-button{flex:1 1 52px}.form-row,.copies-control,.lot-strip,.report-card,.report-date-grid{grid-template-columns:1fr}.report-card .primary-button,.report-modal-actions .primary-button,.report-modal-actions .ghost-button{width:100%}.product-list-toolbar{align-items:stretch;flex-direction:column}.product-list-toolbar .primary-button{width:100%}.copies-control{justify-items:center}.copy-increment{order:1}.copy-count{order:2;width:100%}.copy-decrement{order:3}}@media(hover:none),(pointer:coarse){html,body,#root{background-image:linear-gradient(135deg,#fff,#eef6ff 42%,#dbeaff)}.workspace-panel{background:linear-gradient(150deg,#4a4036,#3d352e 54%,#302a25);box-shadow:0 16px 40px #2d251e24}.admin-header,.fullscreen-button{-webkit-backdrop-filter:none;backdrop-filter:none}.product-tile{box-shadow:inset 0 -2px #00000009}}
