:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#e8edf2;--surface:#fff;--surface-soft:#f8fafc;--surface-blue:#eff6ff;--surface-green:#dcfce7;--surface-warn:#fffbeb;--border:#e5e7eb;--border-strong:#cbd5e1;--text:#111827;--muted:#6b7280;--faint:#9ca3af;--blue:#2563eb;--blue-dark:#1d4ed8;--green:#16a34a;--amber:#d97706;--red:#dc2626}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--page);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}.app-icon{flex:none;width:1em;height:1em}.app-icon.is-spinning{animation:.85s linear infinite icon-spin}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:linear-gradient(90deg,#eef2f7 0%,#f8fafc 48%,#e5edf6 100%) 0 0/220% 100%;border-radius:999px;display:block;position:relative;overflow:hidden}.skeleton-animate{animation:1.25s ease-in-out infinite skeleton-shimmer}.skeleton-line{height:11px}.skeleton-line.thick{height:15px}.skeleton-line.thin{height:8px}.skeleton-block{border-radius:8px}.skeleton-circle{border-radius:999px;flex:none}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.skeleton-animate,.app-icon.is-spinning{animation:none}}.genx-shell{justify-content:center;align-items:flex-start;min-height:100vh;padding:24px 16px;display:flex}.phone{background:var(--surface);border:1px solid #0f172a0f;border-radius:20px;width:100%;max-width:390px;min-height:680px;overflow:hidden;box-shadow:0 18px 48px #0f172a29}.screen{background:var(--surface);min-height:680px}.screen-pad{padding:20px 18px 24px}.desktop-sidebar,.dashboard-stats,.desktop-order-table-wrap{display:none}.review-summary-grid,.model-review-grid{display:grid}.login-screen{flex-direction:column;display:flex;position:relative}.login-brand{text-align:center;padding:54px 24px 34px}.login-brand h1{color:var(--blue);letter-spacing:0;margin:0 0 7px;font-size:34px;line-height:1.1}.login-brand p,.copyright{color:var(--faint);margin:0;font-size:13px}.copyright{text-align:center;margin-top:20px}.auth-loading-screen{align-items:center;display:flex}.auth-loading-screen p{color:var(--muted);margin:10px 0 0;font-size:13px}.screen-skeleton,.mobile-shell-skeleton{gap:12px;display:grid}.desktop-dashboard-skeleton{display:none}.desktop-sidebar-skeleton{pointer-events:none}.desktop-sidebar-skeleton .skeleton{background:linear-gradient(90deg,#475569ad 0%,#94a3b870 48%,#334155c7 100%) 0 0/220% 100%}.desktop-sidebar-skeleton .desktop-sidebar-avatar{background:#94a3b82e}.desktop-dashboard-skeleton .app-bar-title{gap:7px;min-width:0;display:grid}.skeleton-phone-header{border-bottom:1px solid var(--border);grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:11px;min-height:56px;padding:11px 16px;display:grid}.skeleton-dashboard-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:3px 16px 0;display:flex}.skeleton-dashboard-actions{flex:none;gap:8px;display:flex}.dashboard-alert-skeleton{gap:6px;min-width:0;display:grid}.stage-legend-skeleton{gap:5px;padding:0 16px;display:flex}.loader-dot{background:var(--blue);opacity:.9;border-radius:999px;width:12px;height:12px;margin:0 auto}.auth-message{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:-2px 0 12px;padding:10px 11px;font-size:12px;line-height:1.45}.auth-message.success{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.auth-link-line{text-align:center;margin:12px 0 0;font-size:13px;line-height:1.45}.auth-link-line a{color:var(--muted);text-decoration:none}.auth-link-line a:hover{color:var(--blue);text-decoration:underline}.auth-help-panel{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;margin:16px 0 0;padding:12px}.auth-help-panel p{color:var(--muted);margin:0 0 10px;font-size:12px;line-height:1.45}.auth-help-panel strong{color:var(--text);overflow-wrap:anywhere}.auth-help-panel .auth-message{margin:10px 0 0}.auth-switch{color:var(--muted);text-align:center;margin:14px 0 0;font-size:13px;line-height:1.45}.auth-switch a{color:var(--blue);font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-legal-links{flex-wrap:wrap;justify-content:center;gap:6px 10px;margin-top:18px;display:flex}.auth-legal-links a{color:var(--faint);font-size:11px;line-height:1.4;text-decoration:none}.auth-legal-links a:hover{color:var(--blue);text-decoration:underline}.consent-list{gap:9px;margin:2px 0 14px;display:grid}.consent-row{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);border-radius:8px;align-items:flex-start;gap:9px;padding:10px 11px;font-size:12px;line-height:1.5;display:flex}.consent-row input{accent-color:var(--blue);flex:none;margin-top:2px}.consent-row span{min-width:0}.consent-row a{color:var(--blue);font-weight:700;text-decoration:none}.consent-row a:hover{text-decoration:underline}.text-link-button{color:var(--blue);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700;text-decoration:none}.text-link-button:hover{text-decoration:underline}.app-bar{z-index:10;background:#fffffff0;border-bottom:1px solid #eef0f3;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:58px;padding:11px 16px;display:grid;position:sticky;top:0}.app-bar h2{margin:0;font-size:17px;line-height:1.2}.app-bar-action{justify-content:flex-end;align-items:center;min-width:34px;display:flex}.hospital-mark,.icon-button{background:var(--surface-blue);color:var(--blue);border:0;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.hospital-mark .app-icon{font-size:16px}.icon-button{color:var(--muted);background:0 0;border-radius:8px;font-size:20px}.icon-button .app-icon{font-size:20px}.icon-button:hover{background:#f3f4f6}.icon-button.active{color:var(--text);background:#f3f4f6}.icon-button:disabled{color:#cbd5e1;background:0 0}.profile-menu{position:relative}.profile-menu-backdrop{z-index:20;background:0 0;border:0;padding:0;position:fixed;inset:0}.profile-popover{border:1px solid var(--border);z-index:21;background:#fff;border-radius:8px;min-width:236px;padding:12px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 34px #0f172a29}.profile-popover:before{border-left:1px solid var(--border);border-top:1px solid var(--border);content:"";background:#fff;width:10px;height:10px;position:absolute;top:-6px;right:12px;transform:rotate(45deg)}.profile-popover-account{align-items:center;gap:10px;min-width:0;display:flex}.profile-popover-avatar{background:var(--surface-blue);color:var(--blue);border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.profile-popover-avatar .app-icon{font-size:18px}.profile-popover-account strong,.profile-popover-account small{overflow-wrap:anywhere;display:block}.profile-popover-account strong{font-size:14px;line-height:1.25}.profile-popover-account small{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.35}.profile-admin-link{background:var(--surface-blue);color:var(--blue);border:1px solid #bfdbfe;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;margin-top:12px;padding:9px 12px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.profile-admin-link:hover{background:#dbeafe}.profile-admin-link .app-icon{color:var(--blue);font-size:16px}.profile-logout-button{border:1px solid var(--border);color:#374151;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;margin-top:12px;padding:9px 12px;font-size:13px;font-weight:650;display:flex}.profile-logout-button:hover{background:#f9fafb}.profile-logout-button .app-icon{color:var(--muted);font-size:16px}.step-label,.order-id-label{color:var(--faint);white-space:nowrap;font-size:12px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field span,.section-label{color:var(--muted);font-size:12px;font-weight:650}.field-label,.rx-item-label{align-items:baseline;gap:3px;line-height:1.3;display:inline-flex}.field .field-required-mark,.form-required-note .field-required-mark,.rx-item-label .field-required-mark{color:#dc2626;font-weight:850}.form-required-note{color:var(--faint);margin:-2px 0 12px;font-size:11px;font-weight:650;line-height:1.4}.field input,.field select,.field textarea,.rx-table input{color:var(--text);background:#fff;border:1px solid #d7dce3;border-radius:7px;outline:none;width:100%;min-height:42px;padding:10px 11px}.field input:focus,.field select:focus,.field textarea:focus,.rx-table input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true],.rx-table input[aria-invalid=true]{border-color:var(--red)}.field input[aria-invalid=true]:focus,.field select[aria-invalid=true]:focus,.field textarea[aria-invalid=true]:focus,.rx-table input[aria-invalid=true]:focus{border-color:var(--red);box-shadow:0 0 0 3px #dc26261f}.field select:disabled,.field input:disabled{color:var(--faint);background:#f9fafb}.field input:read-only{color:var(--muted);cursor:default;background:#f9fafb}.segmented-control{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.segmented-control button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:34px;padding:7px 8px;font-size:12px;font-weight:750}.segmented-control button.active{color:var(--blue);background:#fff;box-shadow:0 1px 4px #0f172a14}.model-side-tabs{margin-bottom:10px}.field textarea{resize:vertical;min-height:104px}.field-error{color:var(--red);margin:-2px 0 0;font-size:11px;font-weight:650;line-height:1.35}.side-note-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.order-form-group{border:1px solid var(--border);background:#fff;border-radius:8px;gap:2px;margin-bottom:16px;padding:14px;display:grid}.order-form-group-heading{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.order-form-group-heading strong{color:var(--text);font-size:15px;line-height:1.25;display:block}.order-form-group-icon{background:var(--surface-blue);color:var(--blue);border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.order-form-group-icon .app-icon{font-size:18px}.order-form-block-title{color:var(--text);border-top:1px solid #eef0f3;align-items:center;gap:7px;margin:14px 0 10px;padding-top:12px;font-size:13px;font-weight:800;line-height:1.25;display:flex}.order-form-block-title:before{background:var(--blue);content:"";border-radius:999px;width:3px;height:14px}.order-form-block-title-first{border-top:0;margin-top:0;padding-top:0}.address-book-state{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);border-radius:8px;margin:0 0 12px;padding:9px 10px;font-size:12px;line-height:1.45}.address-book-save{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:10px;margin:-2px 0 14px;padding:10px;display:grid}.address-book-save .field{margin-bottom:0}.address-book-save .button{width:100%}.address-book-save-compact{gap:9px;padding:10px}.postcode-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.postcode-search-row .field{margin-bottom:14px}.postcode-search-button{white-space:nowrap;min-height:42px;margin-top:24px}.postcode-error{margin-top:-4px}.postcode-layer{opacity:0;pointer-events:none;border:0 solid #0000;border-radius:8px;height:0;margin:0;transition:height .18s,margin .18s,opacity .18s;overflow:hidden}.postcode-layer.open{border:1px solid var(--border-strong);opacity:1;pointer-events:auto;height:380px;margin:0 0 14px}.postcode-layer-toolbar{background:var(--surface-soft);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:38px;padding:6px 8px 6px 10px;display:flex}.postcode-layer-toolbar span{color:var(--text);font-size:12px;font-weight:800}.postcode-layer-close{color:var(--muted);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.postcode-layer-close:hover{color:var(--text);background:#e5e7eb}.postcode-layer-body{width:100%;height:calc(100% - 38px)}.inline-check{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:650;line-height:1.4;display:flex}.inline-check input{accent-color:var(--blue);flex:none}.button{border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.button .app-icon{font-size:15px;line-height:1}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-dark)}.button.primary:disabled{background:#93c5fd;border-color:#93c5fd}.button.secondary{color:#374151;background:#fff}.button.secondary:hover{background:#f9fafb}.button.secondary:disabled{border-color:var(--border);color:#9ca3af;background:#f9fafb}.button.danger{color:var(--red);background:#fff;border-color:#fecaca}.button.danger:hover{background:#fef2f2}.button.danger:disabled{border-color:var(--border);color:#fca5a5;background:#f9fafb}.button.full{width:100%}.button.compact{min-height:36px;padding:8px 14px;font-size:13px}.dashboard-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:12px 16px 8px;display:flex}.dashboard-summary{flex:1;align-items:flex-start;gap:7px;min-width:0;display:grid}.dashboard-summary>span:first-child{color:var(--muted);font-size:13px}.dashboard-toolbar strong{color:var(--text)}.dashboard-actions{flex:none;gap:8px;display:flex}.dashboard-actions .button.compact{white-space:nowrap;padding-left:12px;padding-right:12px}.dashboard-filter-toggle.active{background:var(--surface-blue);color:var(--blue);border-color:#bfdbfe}.dashboard-filter-toggle.active:hover{background:#dbeafe}.dashboard-filters{gap:10px;padding:2px 16px 10px;display:grid}.dashboard-search-field,.dashboard-filter-grid label{color:var(--muted);gap:5px;font-size:12px;font-weight:700;display:grid}.dashboard-search-input{align-items:center;display:flex;position:relative}.dashboard-search-input .app-icon{color:var(--faint);font-size:17px;position:absolute;left:11px}.dashboard-search-input input,.dashboard-filter-grid select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;outline:none;width:100%;min-height:38px;font-size:13px}.dashboard-search-input input{padding:9px 11px 9px 35px}.dashboard-filter-grid select{padding:8px 9px}.dashboard-search-input input:focus,.dashboard-filter-grid select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.dashboard-filter-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.access-notice{border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:12px;margin:8px 16px 12px;padding:13px 13px 14px;display:flex}.access-notice-pending{background:#fffbeb;border-color:#fde68a}.access-notice-suspended{background:#f9fafb;border-color:#d1d5db}.access-notice-rejected{background:#fef2f2;border-color:#fecaca}.access-notice-icon{border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.access-notice-pending .access-notice-icon{background:var(--surface-warn);color:var(--amber)}.access-notice-suspended .access-notice-icon{color:#4b5563;background:#e5e7eb}.access-notice-rejected .access-notice-icon{color:#b91c1c;background:#fee2e2}.access-notice-icon .app-icon{font-size:20px}.access-notice-copy{flex:1;gap:7px;min-width:0;display:grid}.access-notice-copy strong{color:var(--ink);font-size:14px;line-height:1.25}.access-notice-copy small{color:var(--muted);font-size:12px;line-height:1.5}.review-banner{background:var(--surface-blue);color:var(--blue-dark);text-align:left;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:9px;width:calc(100% - 32px);min-height:44px;margin:12px 16px 0;padding:10px 13px;font-size:13px;font-weight:650;display:flex}.review-banner span:nth-child(2){flex:1}.dashboard-alert-panel{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;margin:8px 16px 0;padding:12px;display:grid}.dashboard-panel-icon{background:var(--surface-blue);color:var(--blue);border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:inline-flex}.dashboard-panel-copy{gap:4px;min-width:0;display:grid}.dashboard-panel-copy strong{color:var(--ink);font-size:13px;line-height:1.25}.dashboard-panel-copy small{color:var(--muted);font-size:11px;line-height:1.45}.banner-icon,.alert-icon{border-radius:999px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:18px;display:inline-flex}.banner-icon{color:var(--blue)}.stage-legend{flex-wrap:wrap;gap:5px;padding:4px 16px 12px;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750;line-height:1;display:inline-flex}.stage-new{color:var(--muted);background:#f3f4f6}.stage-review,.stage-making{background:var(--surface-blue);color:var(--blue)}.stage-shipping{background:var(--surface-warn);color:var(--amber)}.stage-done,.root-on{background:var(--surface-green);color:var(--green)}.stage-failed{color:var(--red);background:#fef2f2}.root-off{color:var(--muted);background:#f3f4f6}.order-list{gap:8px;padding:0 16px 18px;display:grid}.order-empty{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;background:#fff;border-radius:8px;place-items:center;gap:8px;min-height:116px;padding:20px 14px;display:grid}.order-empty strong{color:var(--ink);font-size:14px}.order-empty small{font-size:12px;line-height:1.5}.order-row{border:1px solid var(--border);color:inherit;text-align:left;background:#fff;border-radius:8px;gap:10px;width:100%;padding:13px 12px;display:grid}.order-row.clickable{border-left:3px solid var(--blue)}.order-row.modeling-failed.clickable{border-left-color:var(--red)}.order-row:not(.clickable){cursor:default}.order-row-main{color:inherit;text-align:left;background:0 0;border:0;gap:10px;width:100%;padding:0;display:grid}.order-row-main:not(:disabled){cursor:pointer}.order-row-main:disabled{cursor:default}.order-row-actions{justify-content:flex-end;gap:8px;display:flex}.order-cancel-action{flex:none}.order-list-skeleton{gap:8px;display:grid}.order-row-skeleton{cursor:default}.order-row-skeleton .order-topline{align-items:flex-start}.order-row-skeleton-main,.order-row-skeleton-side{gap:6px;display:grid}.order-row-skeleton-side{justify-items:end}.order-meta-line-skeleton{gap:5px;display:flex}.order-topline{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.order-topline>span:first-child{gap:4px;min-width:0;display:grid}.order-topline strong{font-size:14px}.order-topline em{color:var(--faint);font-size:11px;font-style:normal}.order-status{place-items:flex-end end;gap:5px;display:grid}.order-status small{color:var(--blue);font-size:11px;font-weight:750}.order-row.modeling-failed .order-status small{color:var(--red)}.progress-strip{grid-template-columns:repeat(5,1fr);gap:3px;width:100%;display:grid}.progress-strip span{background:#e5e7eb;border-radius:999px;height:5px}.progress-strip .stage-new{background:#d1d5db}.progress-strip .stage-review,.progress-strip .stage-making{background:var(--blue)}.progress-strip .stage-shipping{background:#f59e0b}.progress-strip .stage-done{background:#22c55e}.progress-strip .stage-failed{background:var(--red)}.revision-chip{color:var(--amber);font-size:11px;font-weight:700}.failure-chip{color:var(--red);font-size:11px;font-weight:700;line-height:1.45}.order-meta-line{flex-wrap:wrap;gap:5px;display:flex}.order-meta-line span{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:100%;padding:5px 7px;font-size:10px;font-weight:750;line-height:1;overflow:hidden}.section-label{margin-bottom:8px;display:block}.rx-foot-editor{gap:8px;margin-bottom:18px;display:grid}.rx-foot-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.rx-foot-panel{border:1px solid var(--border);background:#fff;border-radius:8px;gap:12px;padding:12px;display:grid}.rx-foot-heading{color:var(--text);font-size:13px;font-weight:800}.rx-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-bottom:18px;overflow:hidden}.rx-table th,.rx-table td{border:1px solid var(--border);text-align:center;vertical-align:middle;padding:9px 7px;font-size:12px}.rx-table th{background:var(--surface-soft);color:var(--muted);font-weight:700}.rx-table td:first-child{color:#374151;width:27%;font-weight:700}.rx-table td small{color:var(--faint);margin-top:2px;font-size:10px;font-weight:500;display:block}.rx-table input{text-align:center;min-height:36px;padding:7px 8px}.number-stepper{grid-template-columns:28px minmax(0,1fr) 28px;align-items:stretch;gap:4px;display:grid}.number-stepper input{min-width:0}.stepper-button{color:var(--muted);background:#fff;border:1px solid #d7dce3;border-radius:7px;justify-content:center;align-items:center;width:28px;height:36px;padding:0;display:inline-flex}.stepper-button:hover{color:var(--text);background:#f9fafb}.stepper-button .app-icon{font-size:14px}.toggle-pair{border:1px solid var(--border);border-radius:7px;grid-template-columns:1fr 1fr;min-height:34px;display:grid;overflow:hidden}.toggle-pair button{color:var(--muted);background:#fff;border:0;padding:7px 4px;font-size:11px;font-weight:700}.toggle-pair button+button{border-left:1px solid var(--border)}.toggle-pair button.active{background:var(--blue);color:#fff}.helper-text{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.45}.upload-zone{background:var(--surface-soft);border:1px dashed var(--border-strong);color:#374151;text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:154px;margin-bottom:14px;padding:18px;display:flex}.upload-side-list{gap:12px;margin-bottom:16px;display:grid}.upload-side-item{gap:7px;display:grid}.upload-side-item .upload-zone,.upload-side-item .file-preview{margin-bottom:0}.upload-zone input{display:none}.upload-zone strong{font-size:14px}.upload-zone small{color:var(--faint);font-size:12px}.upload-icon{color:var(--faint);align-items:center;height:48px;font-size:44px;display:inline-flex}.file-preview{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:flex}.file-mark{color:var(--green);flex:none;font-size:22px}.file-preview span:last-child{gap:3px;min-width:0;display:grid}.file-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.file-preview small{color:var(--muted);font-size:11px}.review-preview-note{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);border-radius:8px;margin:-4px 0 14px;padding:10px 11px;font-size:12px;line-height:1.45}.order-submit-progress{border:1px solid var(--border);background:#fff;border-radius:8px;gap:14px;margin:0 0 14px;padding:14px;display:grid}.order-submit-progress-head{align-items:flex-start;gap:10px;display:flex}.order-submit-progress-icon{background:var(--surface-blue);color:var(--blue);border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:inline-flex}.order-submit-progress-copy{gap:3px;min-width:0;display:grid}.order-submit-progress-copy strong{color:var(--text);font-size:14px}.order-submit-progress-copy small,.order-submit-stage-note,.order-submit-step small,.order-submit-meter-size,.order-submit-meter-label{color:var(--muted);font-size:12px;line-height:1.45}.order-submit-stage-note{margin:-4px 0 0}.order-submit-meter-wrap{gap:8px;display:grid}.order-submit-meter-label{justify-content:space-between;align-items:center;gap:10px;display:flex}.order-submit-meter-label span{min-width:0}.order-submit-meter-label strong{color:var(--blue);flex:none;font-size:13px}.order-submit-meter{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.order-submit-meter span{background:var(--blue);height:100%;transition:width .18s;display:block}.order-submit-meter-size{text-align:right}.order-submit-steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.order-submit-step{grid-template-columns:24px minmax(0,1fr);align-items:flex-start;gap:9px;display:grid}.order-submit-step-mark{color:var(--faint);background:#f3f4f6;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:inline-flex}.order-submit-step-mark .app-icon{font-size:13px}.order-submit-step-copy{gap:2px;min-width:0;display:grid}.order-submit-step strong{color:var(--muted);font-size:12px}.order-submit-step.active .order-submit-step-mark{background:var(--surface-blue);color:var(--blue)}.order-submit-step.active strong{color:var(--text)}.order-submit-step.complete .order-submit-step-mark{color:var(--green);background:#dcfce7}.error-dialog-backdrop{z-index:50;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.error-dialog{border:1px solid var(--border);background:#fff;border-radius:8px;gap:14px;width:100%;max-width:334px;padding:22px 18px 18px;display:grid;position:relative;box-shadow:0 22px 60px #0f172a3d}.error-dialog-close{color:var(--faint);background:0 0;border:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex;position:absolute;top:8px;right:8px}.error-dialog-close:hover{color:var(--text)}.error-dialog-icon{color:var(--red);background:#fef2f2;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:inline-flex}.error-dialog-copy{gap:7px;display:grid}.error-dialog-copy strong{color:var(--text);font-size:16px}.error-dialog-copy p{color:var(--muted);white-space:pre-line;margin:0;font-size:13px;line-height:1.5}.cancel-order-dialog{max-width:380px}.cancel-order-dialog-icon{color:var(--red);background:#fef2f2}.cancel-reason-field{margin:0}.cancel-reason-field textarea{resize:vertical;min-height:90px}.cancel-reason-field small{color:var(--faint);justify-self:end;font-size:11px}.cancel-order-dialog-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.success-screen{align-items:center;display:flex}.center-content{text-align:center;width:100%}.success-mark{background:var(--surface-green);color:var(--green);border-radius:999px;justify-content:center;align-items:center;width:76px;height:76px;margin-bottom:20px;font-size:38px;font-weight:800;display:inline-flex}.success-mark .app-icon{font-size:38px}.success-mark.small{width:58px;height:58px;margin-bottom:18px;font-size:28px}.access-blocked-mark{border-radius:999px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;display:inline-flex}.access-blocked-mark .app-icon{font-size:34px}.access-blocked-mark-pending{background:var(--surface-warn);color:var(--amber)}.access-blocked-mark-suspended{color:#4b5563;background:#f3f4f6}.access-blocked-mark-rejected{color:#b91c1c;background:#fee2e2}.admin-shell{justify-content:center;align-items:flex-start;min-height:100vh;padding:28px 16px;display:flex}.admin-panel{background:var(--surface);border:1px solid #0f172a12;border-radius:12px;width:min(100%,1040px);min-height:540px;overflow:hidden;box-shadow:0 18px 48px #0f172a24}.admin-screen{gap:16px;padding:22px;display:grid}.admin-header{border-bottom:1px solid var(--border);align-items:center;gap:13px;padding-bottom:18px;display:flex}.admin-header-copy{flex:auto;min-width:0}.admin-mark,.admin-section-icon,.admin-state-icon{border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-mark{background:var(--surface-blue);color:var(--blue);width:42px;height:42px}.admin-mark .app-icon{font-size:22px}.admin-header h1,.admin-state h1{color:var(--text);margin:0;font-size:22px;line-height:1.2}.admin-header p,.admin-state p,.admin-section-heading p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.5}.admin-return-link{border:1px solid var(--border);color:var(--text);white-space:nowrap;background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 11px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.admin-return-link:hover{background:var(--surface-soft);border-color:#cbd5e1}.admin-return-link .app-icon{color:var(--muted);font-size:16px}.admin-account{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.admin-account small,.admin-section-row small,.admin-hospital-main small{color:var(--muted);font-size:12px;line-height:1.4;display:block}.admin-account strong,.admin-section-row strong,.admin-hospital-main strong{color:var(--text);font-size:14px;line-height:1.35;display:block}.admin-account>span:last-child{color:var(--muted);overflow-wrap:anywhere;text-align:right;font-size:12px}.admin-section-list{gap:8px;display:grid}.admin-section-tabs{scrollbar-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-bottom:2px;display:grid;overflow:visible}.admin-section-tabs::-webkit-scrollbar{display:none}.admin-section-tab{border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:10px;min-width:0;min-height:56px;padding:10px 12px;display:flex}.admin-section-tab:hover:not(:disabled){background:var(--surface-soft)}.admin-section-tab.active{background:var(--surface-blue);color:var(--blue);border-color:#2563eb4d}.admin-section-tab:disabled{color:var(--muted);cursor:not-allowed;opacity:.72;background:#f8fafc}.admin-section-tab .app-icon{flex:none;font-size:20px}.admin-section-tab span{min-width:0}.admin-section-tab strong,.admin-section-tab small{text-overflow:ellipsis;white-space:nowrap;line-height:1.25;display:block;overflow:hidden}.admin-section-tab strong{font-size:13px;font-weight:850}.admin-section-tab small{color:var(--muted);margin-top:3px;font-size:11px}.admin-section-tab.active small{color:#1d4ed8}.admin-hospital-section,.admin-product-section,.admin-stats-section{gap:12px;display:grid}.admin-section-heading{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:12px;display:grid}.admin-section-heading h2{color:var(--text);margin:0;font-size:16px;line-height:1.25}.admin-section-heading .icon-button{background:var(--surface-blue);color:var(--blue);border:1px solid #bfdbfe;width:38px;height:38px}.admin-section-heading .icon-button:hover{color:var(--blue-dark);background:#dbeafe;border-color:#93c5fd}.admin-section-heading .icon-button:disabled{color:#93c5fd;background:#eff6ff;border-color:#dbeafe}.admin-inline-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.admin-inline-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:0;padding:9px 11px;font-size:12px;line-height:1.45}.admin-inline-state{border:1px dashed var(--border);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:86px;padding:16px;font-size:13px;display:flex}.admin-shell-skeleton{gap:16px;padding:22px;display:grid}.admin-shell-skeleton .admin-header{border-bottom:1px solid var(--border)}.admin-account-skeleton{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.admin-tabs-skeleton{gap:8px;display:flex;overflow:hidden}.admin-tab-skeleton{border:1px solid var(--border);background:#fff;border-radius:8px;flex:1 1 0;gap:7px;min-width:0;min-height:56px;padding:11px 12px;display:grid}.admin-hospital-row-skeleton,.admin-product-row-skeleton,.admin-stats-row-skeleton{pointer-events:none}.admin-hospital-row-skeleton>span,.admin-product-row-skeleton>span,.admin-stats-row-skeleton>span{min-width:0}.admin-hospital-list{border:1px solid var(--border);border-radius:8px;overflow:hidden}.admin-hospital-item,.admin-hospital-list>.admin-hospital-row:not(:first-child){border-top:1px solid var(--border)}.admin-hospital-row{background:var(--surface);color:inherit;font:inherit;text-align:left;border:0;grid-template-columns:minmax(150px,1.15fr) minmax(160px,.95fr) 92px 96px 78px minmax(88px,.48fr) 32px;align-items:center;gap:10px;width:100%;padding:12px 14px;display:grid}.admin-hospital-row-head{background:var(--surface-soft);color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.2}.admin-hospital-row-button{cursor:pointer}.admin-hospital-row-button:hover,.admin-hospital-item.is-expanded .admin-hospital-row-button{background:var(--surface-soft)}.admin-hospital-row-button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;box-shadow:inset 0 0 0 3px #2563eb29}.admin-hospital-email{color:var(--muted);overflow-wrap:anywhere;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-hospital-row>span:nth-child(3){color:var(--muted);font-size:12px}.admin-hospital-marker-summary{gap:1px;min-width:0;display:grid}.admin-hospital-marker-summary small{color:var(--muted);font-size:10px;font-weight:800;line-height:1.2}.admin-hospital-marker-summary strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;line-height:1.25;display:block;overflow:hidden}.admin-hospital-expander{color:var(--muted);justify-content:center;align-items:center;display:inline-flex}.admin-hospital-expander .app-icon{font-size:16px}.admin-hospital-details{border-top:1px solid var(--border);background:#f8fafc;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;padding:10px 14px 12px;display:grid}.admin-hospital-detail-column{align-content:start;gap:8px;min-width:0;display:grid}.admin-hospital-detail-panel{border:1px solid var(--border);background:#fff;border-radius:7px;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.admin-hospital-detail-heading{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.admin-hospital-detail-icon{background:var(--surface-blue);color:var(--blue);border:1px solid #dbeafe;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.admin-hospital-detail-icon .app-icon{font-size:16px}.admin-hospital-detail-heading strong,.admin-hospital-detail-heading small{text-overflow:ellipsis;white-space:nowrap;line-height:1.25;display:block;overflow:hidden}.admin-hospital-detail-heading strong{color:var(--text);font-size:12px;font-weight:850}.admin-hospital-detail-heading small{color:var(--muted);font-size:11px;font-weight:750}.admin-hospital-runtime-settings{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;min-width:0;display:grid}.admin-hospital-runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.admin-hospital-runtime-grid.is-single{grid-template-columns:minmax(0,1fr)}.admin-hospital-runtime-field{gap:5px;min-width:0;display:grid}.admin-hospital-runtime-label>span,.admin-hospital-account-summary dt{color:var(--muted);font-size:10px;font-weight:850;line-height:1.2}.admin-hospital-runtime-label{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.admin-hospital-runtime-label>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-hospital-runtime-current{white-space:nowrap;flex:none;align-items:center;gap:5px;line-height:1.2;display:inline-flex}.admin-hospital-runtime-current>span{color:var(--muted);letter-spacing:0;font-size:9px;font-weight:850}.admin-hospital-runtime-current>strong{color:var(--text);font-size:11px;font-weight:850}.admin-hospital-runtime-input{border:1px solid var(--border);background:#fff;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;height:36px;padding:0 9px 0 0;display:grid}.admin-hospital-runtime-input input{color:var(--text);font:inherit;background:0 0;border:0;width:100%;min-width:0;min-height:34px;padding:0 9px}.admin-hospital-runtime-input>span:last-child{color:var(--muted);font-size:11px;font-weight:800;line-height:1}.admin-hospital-runtime-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.admin-hospital-runtime-input input:focus{outline:none}.admin-hospital-runtime-input:has(input[aria-invalid=true]){border-color:#fecaca}.admin-hospital-runtime-actions{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.admin-hospital-account-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.admin-hospital-account-summary div{background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.admin-hospital-account-summary dd{min-width:0;margin:0}.admin-hospital-detail-actions{border-top:1px solid var(--border);margin-top:2px;padding-top:10px}.admin-access-badge,.admin-account-mode-badge,.admin-hospital-actions em{white-space:nowrap;border-radius:999px;padding:7px 9px;font-size:11px;font-style:normal;font-weight:800;line-height:1;display:inline-flex}.admin-access-badge-pending{color:#92400e;background:#fef3c7}.admin-access-badge-approved{color:#166534;background:#dcfce7}.admin-access-badge-suspended{color:#374151;background:#e5e7eb}.admin-access-badge-rejected{color:#b91c1c;background:#fee2e2}.admin-account-mode-production{color:#1d4ed8;background:#dbeafe}.admin-account-mode-test{color:#92400e;background:#fef3c7}.admin-hospital-actions{flex-wrap:wrap;justify-content:flex-start;gap:7px;display:flex}.admin-hospital-actions em{color:var(--muted);background:#f3f4f6}.admin-product-filter-shell{gap:8px;display:grid}.admin-product-filter-bar{justify-content:flex-start;align-items:center;min-width:0;display:flex}.admin-product-filter-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;font:inherit;border-radius:7px;flex:none;align-items:center;gap:5px;min-height:34px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.admin-product-filter-toggle:hover{color:#1d4ed8;border-color:#bfdbfe}.admin-product-filter-toggle .app-icon{font-size:16px;transition:transform .16s}.admin-product-filter-toggle.is-open .app-icon{transform:rotate(90deg)}.admin-product-filter-panel{min-width:0}.admin-product-filters{grid-template-columns:92px minmax(132px,1fr) minmax(148px,1fr) 126px 126px 104px auto;align-items:end;gap:8px;display:grid}.admin-product-filters label{gap:5px;display:grid}.admin-product-filters label span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.2}.admin-product-filters input,.admin-product-filters select{border:1px solid var(--border);color:var(--text);font:inherit;background:#fff;border-radius:7px;min-width:0;height:36px;padding:0 9px;font-size:12px}.admin-product-filter-button{white-space:nowrap;height:36px}.admin-stats-toolbar{grid-template-columns:126px 126px auto;justify-content:start;align-items:end;gap:8px;display:grid}.admin-stats-toolbar label{gap:5px;display:grid}.admin-stats-toolbar label span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.2}.admin-stats-toolbar input{border:1px solid var(--border);color:var(--text);font:inherit;background:#fff;border-radius:7px;min-width:0;height:36px;padding:0 9px;font-size:12px}.admin-stats-filter-button{height:36px}.admin-stats-period{color:var(--muted);font-size:12px;font-weight:750}.admin-stats-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.admin-stats-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px;display:grid}.admin-stats-card>.app-icon{background:var(--surface-blue);color:var(--blue);border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:inline-flex}.admin-stats-card small,.admin-stats-card em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;font-weight:750;line-height:1.25;display:block;overflow:hidden}.admin-stats-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:18px;font-weight:850;line-height:1.25;display:block;overflow:hidden}.admin-stats-card em{margin-top:2px;font-size:10px}.admin-stats-card-skeleton>span:last-child{gap:6px;display:grid}.admin-stats-skeleton-content,.admin-stats-grid{gap:12px;display:grid}.admin-stats-block{gap:8px;min-width:0;display:grid}.admin-stats-block-heading{justify-content:space-between;align-items:end;gap:10px;display:flex}.admin-stats-block-heading h3{color:var(--text);margin:0;font-size:14px;line-height:1.25}.admin-stats-block-heading span{color:var(--muted);font-size:11px;font-weight:700}.admin-stats-daily-list,.admin-stats-hospital-list{border:1px solid var(--border);border-radius:8px;overflow:auto hidden}.admin-stats-daily-row,.admin-stats-hospital-row{border-top:1px solid var(--border);background:#fff;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.admin-stats-daily-row{grid-template-columns:98px minmax(92px,1fr) minmax(92px,1fr) 54px 54px}.admin-stats-hospital-row{grid-template-columns:minmax(150px,1.2fr) 64px 70px 78px 56px 78px 96px;min-width:690px}.admin-stats-daily-list>.admin-stats-daily-row:first-child,.admin-stats-hospital-list>.admin-stats-hospital-row:first-child{border-top:0}.admin-stats-daily-head,.admin-stats-hospital-head{background:var(--surface-soft);color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:850;line-height:1.2}.admin-stats-daily-row:not(.admin-stats-daily-head),.admin-stats-hospital-row:not(.admin-stats-hospital-head){color:var(--muted);font-size:11px;line-height:1.35}.admin-stats-bar-wrap{background:#f3f4f6;border-radius:999px;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:6px;height:20px;padding:0 6px;display:grid;overflow:hidden}.admin-stats-bar{background:#60a5fa;border-radius:999px;height:6px;display:block}.admin-stats-bar-wrap strong{color:var(--text);text-align:right;font-size:10px;font-weight:850}.admin-stats-hospital-main strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;display:block;overflow:hidden}.admin-stats-hospital-main small,.admin-stats-hospital-row span small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.35;display:block;overflow:hidden}.admin-product-list{border:1px solid var(--border);border-radius:8px;overflow:auto hidden}.admin-product-row{background:var(--surface);border:0;border-top:1px solid var(--border);color:inherit;font:inherit;text-align:left;grid-template-columns:minmax(130px,1.1fr) minmax(124px,1fr) 96px 78px 82px 84px 66px 78px;align-items:center;gap:8px;width:100%;min-width:792px;padding:10px 12px;display:grid}.admin-product-list>.admin-product-row:first-child{border-top:0}.admin-product-row-button{cursor:pointer}.admin-product-row-button:hover{background:var(--surface-soft)}.admin-product-row-head{background:var(--surface-soft);color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.2}.admin-product-hospital strong,.admin-product-identifier strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;display:block;overflow:hidden}.admin-product-hospital small,.admin-product-identifier small,.admin-product-row>span:nth-child(3){color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;display:block;overflow:hidden}.admin-product-failed{justify-content:space-between;align-items:center;gap:6px;display:flex}.admin-product-failed .app-icon{color:var(--muted);font-size:16px}.admin-status-pill{white-space:nowrap;border-radius:999px;max-width:100%;padding:6px 7px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.admin-status-pill.muted{color:var(--muted);background:#f3f4f6}.admin-status-pill.neutral{color:#3730a3;background:#eef2ff}.admin-status-pill.progress{color:#075985;background:#e0f2fe}.admin-status-pill.success{color:#166534;background:#dcfce7}.admin-status-pill.warning{color:#92400e;background:#fef3c7}.admin-status-pill.danger{color:#b91c1c;background:#fee2e2}.admin-product-details{border-top:1px solid var(--border);background:#fafafa;gap:10px;min-width:0;padding:12px;display:grid}.admin-product-metadata{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;display:grid}.admin-product-technical{border:1px solid var(--border);background:#fff;border-radius:7px;min-width:0;display:grid}.admin-product-technical summary{color:var(--text);cursor:pointer;padding:9px 10px;font-size:12px;font-weight:800;line-height:1.3}.admin-product-technical .admin-product-metadata{border-top:1px solid var(--border);padding:9px 10px}.admin-product-metadata div{min-width:0}.admin-product-metadata dt{color:var(--muted);margin:0 0 4px;font-size:10px;font-weight:800;line-height:1.2}.admin-product-metadata dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;line-height:1.35;overflow:hidden}.admin-product-order-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.admin-product-human-metadata{border:1px solid var(--border);background:#fff;border-radius:7px;gap:0;margin:0;display:grid;overflow:hidden}.admin-product-human-metadata>dt{background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--text);padding:8px 9px;font-size:11px;font-weight:850;line-height:1.25}.admin-product-human-metadata div{border-top:1px solid var(--border);grid-template-columns:86px minmax(0,1fr);gap:7px;padding:7px 9px;display:grid}.admin-product-human-metadata>dt+div{border-top:0}.admin-product-human-metadata div dt{color:var(--muted);font-size:10px;font-weight:800;line-height:1.35}.admin-product-human-metadata div dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.35}.admin-product-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;gap:3px;margin:0;padding:9px 10px;font-size:12px;line-height:1.4;display:grid}.admin-product-files{gap:7px;width:100%;min-width:0;display:grid}.admin-product-files>strong{color:var(--text);font-size:12px}.admin-product-files>span{color:var(--muted);font-size:12px}.admin-product-file-list{gap:5px;width:100%;min-width:0;display:grid}.admin-product-file{border:1px solid var(--border);background:#fff;border-radius:7px;grid-template-columns:94px 54px minmax(120px,.8fr) 72px minmax(180px,1.6fr);align-items:center;gap:8px;padding:8px 9px;display:grid}.admin-product-file span,.admin-product-file code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;line-height:1.35;overflow:hidden}.admin-product-file span:first-child{color:var(--text);font-weight:750}.admin-modeling-job-item{border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;width:100%;min-width:0;padding:9px;display:grid}.admin-modeling-job-summary{grid-template-columns:64px 74px minmax(110px,.75fr) minmax(110px,.75fr);align-items:center;gap:8px;width:100%;min-width:0;display:grid}.admin-modeling-job-summary span,.admin-modeling-job-summary code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;line-height:1.35;overflow:hidden}.admin-modeling-job-summary code{background:0 0}.admin-modeling-job-summary .admin-modeling-side{color:var(--text);font-weight:750}.admin-modeling-marker{gap:1px;display:grid}.admin-modeling-marker small{color:var(--muted);font-size:9px;font-weight:800;line-height:1.2}.admin-modeling-marker strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;line-height:1.25;overflow:hidden}.admin-modeling-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:140px;max-width:100%;display:flex}.admin-modeling-rerun-toggle{white-space:normal;min-width:0;min-height:30px}.admin-modeling-rerun-form,.admin-modeling-rerun-success,.admin-modeling-preview{grid-column:1/-1}.admin-modeling-preview{border-top:1px solid var(--border);min-width:0;padding-top:8px;overflow:hidden}.admin-modeling-preview .viewer-loading{gap:10px}.admin-modeling-preview .turntable-viewer{box-sizing:border-box;overflow:hidden}.admin-modeling-preview .turntable-canvas-shell{overflow:hidden}.admin-modeling-preview .turntable-canvas{width:auto;height:100%}.admin-modeling-preview-error{color:#b91c1c;background:#fef2f2;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;font-size:11px;line-height:1.35;display:flex}.admin-modeling-rerun-form{border-top:1px solid var(--border);grid-template-columns:160px minmax(220px,1fr) auto;gap:8px;padding-top:8px;display:grid}.admin-modeling-manual-form{grid-template-columns:minmax(220px,1.2fr) 104px minmax(220px,1fr)}.admin-modeling-rerun-form label{gap:4px;min-width:0;display:grid}.admin-modeling-rerun-form label span{color:var(--muted);font-size:10px;font-weight:800}.admin-modeling-rerun-form input,.admin-modeling-rerun-form select,.admin-modeling-rerun-form textarea{border:1px solid var(--border);color:var(--text);font:inherit;border-radius:6px;width:100%;min-width:0;padding:8px 9px;font-size:12px}.admin-modeling-rerun-form textarea{resize:vertical;min-height:70px}.admin-modeling-manual-reason,.admin-modeling-warning-check{grid-column:1/-1}.admin-modeling-warning-check{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:7px;padding:8px 9px;display:grid}.admin-modeling-warning-check input{width:16px;height:16px;margin:1px 0 0}.admin-modeling-warning-check span{color:#92400e;font-size:11px;font-weight:650;line-height:1.45}.admin-modeling-rerun-actions{align-content:end;gap:6px;display:grid}.admin-modeling-rerun-error,.admin-modeling-rerun-success{border-radius:6px;margin:0;padding:7px 8px;font-size:11px;line-height:1.35}.admin-modeling-rerun-error{color:#b91c1c;background:#fef2f2;grid-column:1/-1}.admin-modeling-rerun-success{color:#047857;background:#ecfdf5}.admin-product-footer{justify-content:center;display:flex}.admin-action-button{min-width:86px}.admin-action-button.runtime{border-color:var(--border);color:var(--text);background:#fff;min-width:58px}.admin-action-button.runtime:hover:not(:disabled){background:var(--surface-soft)}.admin-action-button.runtime.reset{color:var(--muted)}.admin-action-button.approve{background:var(--blue);border-color:var(--blue);color:#fff}.admin-action-button.suspend{color:#b91c1c;background:#fff;border-color:#fecaca}.admin-action-button.suspend:hover:not(:disabled){background:#fef2f2}.admin-action-button.test{color:#fff;background:#f59e0b;border-color:#f59e0b}.admin-action-button.production{color:#1d4ed8;background:#fff;border-color:#93c5fd}.admin-action-button.production:hover:not(:disabled){background:#eff6ff}.admin-section-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.admin-section-icon{background:var(--surface-blue);color:var(--blue);width:38px;height:38px}.admin-section-icon .app-icon{font-size:20px}.admin-section-row em{color:var(--muted);white-space:nowrap;background:#f3f4f6;border-radius:999px;padding:6px 9px;font-size:11px;font-style:normal;font-weight:750;line-height:1}.admin-state{text-align:center;align-content:center;justify-items:center;min-height:540px;padding:32px 22px;display:grid}.admin-state .button{margin-top:22px}.admin-state-icon{background:var(--surface-blue);color:var(--blue);width:64px;height:64px;margin-bottom:18px}.admin-state-icon .app-icon{font-size:32px}@media (max-width:760px){.admin-section-tabs{gap:6px}.admin-section-tab{text-align:center;justify-content:center;gap:6px;min-height:50px;padding:9px 8px}.admin-section-tab .app-icon{display:none}.admin-section-tab strong{font-size:12px}.admin-section-tab small{display:none}.admin-product-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-product-filter-button{width:100%}.admin-stats-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats-daily-row{min-width:500px}.admin-product-list{border:0;gap:8px;display:grid;overflow:visible}.admin-product-row-head{display:none}.admin-product-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:7px;min-width:0;padding:12px}.admin-product-list>.admin-product-row:first-child{border-top:1px solid var(--border)}.admin-product-row-button:hover{background:#fff}.admin-product-hospital,.admin-product-identifier{grid-column:1/-1}.admin-product-row>span:nth-child(3),.admin-product-row>span:nth-child(4),.admin-product-row>span:nth-child(5),.admin-product-row>span:nth-child(6),.admin-product-row>span:nth-child(7){justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}.admin-product-row>span:nth-child(3):before,.admin-product-row>span:nth-child(4):before,.admin-product-row>span:nth-child(5):before,.admin-product-row>span:nth-child(6):before,.admin-product-row>span:nth-child(7):before,.admin-product-failed:before{color:var(--muted);font-size:10px;font-weight:800;line-height:1.2;display:block}.admin-product-row>span:nth-child(3):before{content:"생성일"}.admin-product-row>span:nth-child(4):before{content:"발주"}.admin-product-row>span:nth-child(5):before{content:"업로드"}.admin-product-row>span:nth-child(6):before{content:"모델링"}.admin-product-row>span:nth-child(7):before{content:"결과"}.admin-product-failed{grid-column:1/-1}.admin-product-failed:before{content:"실패"}.admin-product-failed{justify-content:flex-start;align-items:center}.admin-product-metadata{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-product-order-info{grid-template-columns:minmax(0,1fr)}.admin-hospital-list{border-radius:7px}.admin-hospital-row{grid-template-columns:minmax(116px,1.1fr) minmax(120px,1fr) 68px 70px 58px minmax(68px,.7fr) 28px;gap:8px;padding:9px 10px}.admin-hospital-row-head{font-size:10px}.admin-hospital-main strong{font-size:13px}.admin-hospital-main small,.admin-hospital-email,.admin-hospital-row>span:nth-child(3),.admin-hospital-marker-summary strong{font-size:11px}.admin-hospital-details{gap:8px;padding:10px}.admin-hospital-detail-panel{padding:9px}.admin-hospital-main small{display:none}.admin-hospital-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-access-badge,.admin-account-mode-badge,.admin-hospital-actions em{padding:6px 7px;font-size:10px}.admin-action-button{min-width:66px;min-height:32px;padding:7px 9px;font-size:12px}.admin-action-button.runtime{min-width:52px}}@media (max-width:560px){.admin-header{flex-wrap:wrap}.admin-return-link,.admin-shell-skeleton .admin-header>.skeleton-block{width:100%}.side-note-grid{grid-template-columns:minmax(0,1fr)}.admin-stats-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats-filter-button{grid-column:1/-1;width:100%}.admin-stats-summary{grid-template-columns:minmax(0,1fr)}.admin-stats-block-heading{align-items:flex-start;display:grid}.admin-product-filter-toggle{min-height:32px;padding:0 9px;font-size:12px}.admin-product-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-product-filter-button{grid-column:1/-1}.admin-product-row,.admin-product-metadata{grid-template-columns:minmax(0,1fr)}.admin-product-file{grid-template-columns:minmax(0,1fr);align-items:start}.admin-product-file span,.admin-product-file code{overflow-wrap:anywhere;white-space:normal}.admin-modeling-job-item,.admin-modeling-job-summary{grid-template-columns:minmax(0,1fr)}.admin-modeling-actions{justify-content:flex-start;min-width:0}.admin-modeling-rerun-form,.admin-modeling-manual-form{grid-template-columns:minmax(0,1fr)}.admin-modeling-rerun-actions{grid-column:1/-1;display:flex}.admin-hospital-list{border:0;gap:8px;display:grid;overflow:visible}.admin-hospital-row-head{display:none}.admin-hospital-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:13px}.admin-hospital-item{border:1px solid var(--border);border-radius:8px;overflow:hidden}.admin-hospital-item .admin-hospital-row{border:0;border-radius:0}.admin-hospital-main{grid-column:1/2}.admin-hospital-email{grid-column:1/-1}.admin-hospital-expander{grid-area:1/2;justify-content:flex-end}.admin-hospital-row>span:nth-child(3),.admin-hospital-row>span:nth-child(4),.admin-hospital-row>span:nth-child(5),.admin-hospital-marker-summary{justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex}.admin-hospital-row>span:nth-child(3):before,.admin-hospital-row>span:nth-child(4):before,.admin-hospital-row>span:nth-child(5):before{color:var(--muted);font-size:10px;font-weight:750;line-height:1.2;display:block}.admin-hospital-row>span:nth-child(3):before{content:"가입일"}.admin-hospital-row>span:nth-child(4):before{content:"발주 권한"}.admin-hospital-row>span:nth-child(5):before{content:"실행 모드"}.admin-hospital-row-skeleton>span:nth-child(3):before,.admin-hospital-row-skeleton>span:nth-child(4):before,.admin-hospital-row-skeleton>span:nth-child(5):before,.admin-hospital-row-skeleton>span:nth-child(6):before,.admin-hospital-row-skeleton>span:nth-child(7):before{content:none}.admin-hospital-main small{display:block}.admin-hospital-email{overflow-wrap:anywhere;white-space:normal}.admin-hospital-details{grid-template-columns:minmax(0,1fr);padding:10px}.admin-hospital-runtime-settings,.admin-hospital-runtime-grid{grid-template-columns:minmax(0,1fr)}.admin-hospital-actions{justify-content:flex-start}}.signup-complete h2{margin:0 0 10px;font-size:20px}.signup-complete p{color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.5}.signup-complete strong{color:var(--text);overflow-wrap:anywhere}.signup-complete .button+.button{margin-top:10px}.signup-complete .auth-message{margin:12px 0 0}.success-screen h2{margin:0 0 8px;font-size:22px}.success-screen p{color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.45}.success-screen p strong{color:var(--text)}.success-screen .accent-copy{color:var(--blue);margin-bottom:34px}.success-screen .button+.button,.revision-form .button+.button,.action-stack .button+.button{margin-top:10px}.patient-line{align-items:center;gap:8px;margin-bottom:14px;display:flex}.patient-line span:first-child{color:var(--muted);font-size:13px}.patient-line strong{font-size:14px}.patient-line .badge{margin-left:auto}.viewer-wrap{background:#edf2f7;border-radius:8px;min-height:280px;margin-bottom:16px;overflow:hidden}.mesh-viewer{width:100%;position:relative}.viewer-canvas-host{width:100%}.viewer-canvas{cursor:grab;touch-action:none;display:block}.viewer-canvas:active{cursor:grabbing}.viewer-loading{color:var(--muted);justify-content:center;align-items:center;width:100%;display:flex}.viewer-loading-skeleton{background:#edf2f7;place-items:center;padding:26px;display:grid;overflow:hidden}.viewer-skeleton-figure{justify-items:center;gap:12px;width:min(100%,240px);display:grid}.viewer-skeleton-model{border-radius:999px 999px 14px 14px;width:78px;height:120px}.viewer-skeleton-shadow{opacity:.72;width:190px;height:14px}.viewer-error{color:var(--red);text-align:center;justify-content:center;align-items:center;width:100%;padding:20px;font-size:13px;display:flex}.turntable-viewer{background:#edf2f7;grid-template-rows:minmax(0,1fr) auto;gap:10px;width:100%;padding:12px;display:grid}.turntable-canvas-shell{place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.turntable-canvas{cursor:ew-resize;object-fit:contain;touch-action:none;width:100%;height:100%;margin:auto;display:block;position:absolute;inset:0}.turntable-slider{accent-color:#2563eb;justify-self:center;width:100%;max-width:360px}.result-status{border-radius:8px;gap:4px;margin:-4px 0 16px;padding:10px 12px;display:grid}.result-status strong{font-size:12px}.result-status small{color:inherit;opacity:.82;font-size:11px}.result-status.pending,.result-status-skeleton{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.result-status.success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.result-status.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.order-detail-summary{margin-bottom:16px}.summary-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.summary-heading .section-label{margin-bottom:0}.summary-edit-button{min-height:30px;padding:6px 11px}.order-detail-summary dl{border:1px solid var(--border);background:#fff;border-radius:8px;gap:0;margin:0;display:grid;overflow:hidden}.order-detail-summary dl div{border-top:1px solid var(--border);grid-template-columns:92px minmax(0,1fr);gap:8px;padding:10px 11px;display:grid}.order-detail-summary dl div:first-child{border-top:0}.order-detail-summary dt{color:var(--muted);font-size:11px;font-weight:750;line-height:1.35}.order-detail-summary dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.rx-summary{margin-bottom:18px}.compact-table td{height:42px}.muted-cell{color:var(--faint)}.revision-form,.action-stack{display:grid}.legal-header{gap:8px;margin-bottom:18px;display:grid}.legal-version{color:var(--faint);white-space:nowrap;font-size:12px}.legal-header h1{letter-spacing:0;margin:0;font-size:22px;line-height:1.25}.legal-header p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.legal-nav{border-bottom:1px solid var(--border);border-top:1px solid var(--border);flex-wrap:wrap;gap:7px;margin:0 0 22px;padding:12px 0;display:flex}.legal-nav a{color:var(--muted);border-radius:999px;padding:7px 9px;font-size:12px;font-weight:700;text-decoration:none}.legal-nav a:hover,.legal-nav a.active{background:var(--surface-blue);color:var(--blue)}.legal-sections{gap:20px;display:grid}.legal-section{gap:9px;display:grid}.legal-section h2{letter-spacing:0;margin:0;font-size:15px;line-height:1.35}.legal-section p{color:#374151;margin:0;font-size:13px;line-height:1.7}.legal-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:30px;padding-top:18px;font-size:13px;display:flex}.legal-footer a{color:var(--blue);font-weight:700;text-decoration:none}.legal-footer a:hover{text-decoration:underline}.consent-dialog-backdrop{z-index:40;background:#0f172a61;position:absolute;inset:0}.consent-dialog{background:var(--surface);grid-template-rows:auto 1fr auto;height:100%;min-height:680px;display:grid}.consent-dialog-header{z-index:2;background:#fffffff5;border-bottom:1px solid #eef0f3;grid-template-columns:1fr 34px;align-items:center;gap:10px;min-height:58px;padding:11px 16px;display:grid;position:sticky;top:0}.consent-dialog-header h2{margin:0;font-size:17px;line-height:1.2}.consent-dialog-body{gap:24px;padding:18px 18px 22px;display:grid;overflow-y:auto}.consent-document{gap:10px;display:grid}.consent-document h3{margin:0;font-size:21px;line-height:1.25}.consent-document>p{color:var(--muted);margin:0 0 6px;font-size:13px;line-height:1.55}.consent-dialog-actions{border-top:1px solid var(--border);background:#fffffff5;gap:9px;padding:12px 18px 18px;display:grid}@media (min-width:960px){.submission-frame-login,.submission-frame-loading,.submission-frame.has-sidebar{justify-content:flex-start;align-items:stretch;padding:0}.submission-frame-login .submission-surface,.submission-frame-loading .submission-surface,.submission-frame.has-sidebar .submission-surface{box-shadow:none;border:0;border-radius:0;flex:auto;max-width:none;min-height:100vh;overflow:visible}.submission-frame-loading:not(.has-sidebar) .submission-surface{place-items:center;display:grid}.submission-frame-loading:not(.has-sidebar) .screen-skeleton{border:1px solid var(--border);background:#fff;border-radius:12px;width:min(100%,720px);min-height:540px;overflow:hidden;box-shadow:0 18px 48px #0f172a1a}.submission-frame-loading.has-sidebar .screen-skeleton{background:var(--page);gap:0;min-height:100vh}.submission-frame-loading.has-sidebar .mobile-shell-skeleton{display:none}.submission-frame-loading.has-sidebar .desktop-dashboard-skeleton{align-content:start;min-height:100vh;display:grid}.submission-frame-login .login-screen{grid-template-columns:minmax(0,1fr) 440px;min-height:100vh;display:grid}.submission-frame-login .login-brand{text-align:left;background:linear-gradient(135deg,#0f766eeb,#2563ebf0),#2563eb;flex-direction:column;justify-content:center;align-items:flex-start;padding:64px;display:flex}.submission-frame-login .login-brand h1{color:#fff;margin-bottom:16px;font-size:56px;line-height:1}.submission-frame-login .login-brand p{color:#dbeafe;max-width:360px;font-size:17px;line-height:1.6}.submission-frame-login .login-screen>.screen-pad{place-self:center;width:100%;max-width:360px;padding:48px 0}.auth-shell,.legal-shell{justify-content:flex-start;align-items:stretch;padding:0}.auth-shell .auth-surface,.legal-shell .legal-surface{box-shadow:none;border:0;border-radius:0;flex:auto;max-width:none;min-height:100vh;overflow:visible}.auth-shell .login-screen{grid-template-columns:minmax(0,1fr) 440px;min-height:100vh;display:grid}.auth-shell .login-brand{text-align:left;background:linear-gradient(135deg,#0f766eeb,#2563ebf0),#2563eb;flex-direction:column;justify-content:center;align-items:flex-start;padding:64px;display:flex}.auth-shell .login-brand h1{color:#fff;margin-bottom:16px;font-size:56px;line-height:1}.auth-shell .login-brand p{color:#dbeafe;max-width:360px;font-size:17px;line-height:1.6}.auth-shell .login-screen>.screen-pad{place-self:center;width:100%;max-width:360px;padding:48px 0}.auth-shell .consent-dialog-backdrop{justify-content:center;align-items:center;padding:32px;display:flex;position:fixed}.auth-shell .consent-dialog{border-radius:12px;width:min(100%,780px);max-width:780px;height:min(86vh,760px);min-height:0;overflow:hidden;box-shadow:0 24px 64px #0f172a47}.auth-shell .consent-dialog-body{min-height:0;padding:24px 28px 28px}.auth-shell .consent-dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 18px}.legal-shell .legal-surface,.legal-shell .legal-screen{background:var(--page)}.legal-shell .legal-screen{min-height:100vh}.legal-shell .app-bar{background:#fff;grid-template-columns:40px minmax(0,1fr) auto;min-height:64px;padding:0 32px}.legal-shell .app-bar h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:18px;overflow:hidden}.legal-shell .legal-screen>.screen-pad{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;width:100%;max-width:1120px;margin:0 auto;padding:32px;display:grid}.legal-shell .legal-header{border:1px solid var(--border);background:#fff;border-radius:12px;grid-column:1/-1;margin:0;padding:24px 28px}.legal-shell .legal-header h1{font-size:30px}.legal-shell .legal-header p{max-width:760px;font-size:15px}.legal-shell .legal-nav{border:1px solid var(--border);background:#fff;border-radius:12px;align-self:start;gap:4px;margin:0;padding:10px;display:grid;position:sticky;top:88px}.legal-shell .legal-nav a{border-radius:8px;padding:10px 12px;font-size:13px}.legal-shell .legal-sections{border:1px solid var(--border);background:#fff;border-radius:12px;gap:24px;min-width:0;padding:28px}.legal-shell .legal-section h2{font-size:17px}.legal-shell .legal-section p{font-size:14px;line-height:1.75}.legal-shell .legal-footer{border:1px solid var(--border);background:#fff;border-radius:12px;grid-column:2;margin-top:0;padding:16px 18px}.desktop-sidebar{color:#cbd5e1;background:#0f172a;flex-direction:column;flex:0 0 248px;height:100vh;display:flex;position:sticky;top:0}.desktop-sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:26px 22px 22px;display:flex}.desktop-sidebar-brand strong{color:#fff;letter-spacing:0;font-size:24px;font-weight:850}.desktop-sidebar-brand span{color:#94a3b8;font-size:11px;line-height:1.35}.desktop-sidebar-nav{gap:4px;padding:14px 12px;display:grid}.desktop-sidebar-nav-item{color:#94a3b8;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:42px;padding:10px 14px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.desktop-sidebar-nav-item:hover{color:#e2e8f0;background:#ffffff0f}.desktop-sidebar-nav-item.active{background:var(--blue);color:#fff}.desktop-sidebar-nav-item:disabled{color:#475569}.desktop-sidebar-nav-item .app-icon{font-size:18px}.desktop-sidebar-alert{background:#f59e0b;border-radius:999px;width:8px;height:8px;margin-left:auto}.desktop-sidebar-footer{border-top:1px solid #ffffff14;gap:12px;margin-top:auto;padding:16px 18px;display:grid}.desktop-sidebar-account{align-items:center;gap:10px;min-width:0;display:flex}.desktop-sidebar-avatar{background:var(--surface-blue);color:var(--blue);border-radius:999px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.desktop-sidebar-avatar .app-icon{font-size:18px}.desktop-sidebar-account strong,.desktop-sidebar-account small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.desktop-sidebar-account strong{color:#e2e8f0;font-size:13px;line-height:1.25}.desktop-sidebar-account small{color:#94a3b8;margin-top:2px;font-size:11px;line-height:1.35}.desktop-sidebar-logout{color:#94a3b8;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:4px 0;font-size:12.5px;font-weight:650;display:inline-flex}.desktop-sidebar-logout:hover{color:#e2e8f0}.admin-shell.has-sidebar{background:var(--page);justify-content:flex-start;align-items:stretch;padding:0}.admin-shell.has-sidebar .admin-panel{background:var(--page);box-shadow:none;border:0;border-radius:0;flex:auto;width:auto;max-width:none;min-height:100vh;overflow:visible}.admin-shell.has-sidebar .admin-screen{align-content:start;gap:18px;min-height:100vh;padding:0 0 40px}.admin-shell.has-sidebar .admin-header{z-index:10;background:#fff;min-height:64px;padding:0 32px;position:sticky;top:0}.admin-shell.has-sidebar .admin-header h1{font-size:18px}.admin-shell.has-sidebar .admin-header p,.admin-shell.has-sidebar .admin-return-link,.admin-shell.has-sidebar .admin-account,.admin-shell.has-sidebar .admin-section-tabs{display:none}.admin-shell.has-sidebar .admin-hospital-section,.admin-shell.has-sidebar .admin-product-section,.admin-shell.has-sidebar .admin-stats-section{width:calc(100% - 64px);max-width:1240px;margin-left:auto;margin-right:auto}.admin-shell.has-sidebar .admin-section-heading{padding-top:8px}.admin-shell.has-sidebar .admin-shell-skeleton{align-content:start;gap:18px;min-height:100vh;padding:0 0 40px}.admin-shell.has-sidebar .admin-shell-skeleton .admin-header{z-index:10;background:#fff;min-height:64px;padding:0 32px;position:sticky;top:0}.admin-shell.has-sidebar .admin-account-skeleton,.admin-shell.has-sidebar .admin-tabs-skeleton{display:none}.admin-sidebar-home-link{text-decoration:none}.submission-frame.has-sidebar .screen{background:var(--page);min-height:100vh}.submission-frame.has-sidebar .app-bar{background:#fff;min-height:64px;padding:0 32px}.submission-frame.has-sidebar .app-bar h2{font-size:18px}.submission-frame.has-sidebar .dashboard-screen .profile-menu{display:none}.submission-frame.has-sidebar .dashboard-toolbar,.submission-frame.has-sidebar .dashboard-filters,.submission-frame.has-sidebar .dashboard-stats,.submission-frame.has-sidebar .dashboard-alert-panel,.submission-frame.has-sidebar .stage-legend,.submission-frame.has-sidebar .desktop-order-table-wrap{width:calc(100% - 64px);max-width:1240px;margin-left:auto;margin-right:auto}.submission-frame.has-sidebar .dashboard-toolbar{padding:24px 0 12px}.submission-frame.has-sidebar .dashboard-summary>span:first-child{font-size:14px}.submission-frame.has-sidebar .dashboard-filters{grid-template-columns:minmax(300px,1fr) minmax(340px,auto);padding:0 0 16px}.submission-frame.has-sidebar .dashboard-filter-grid{grid-template-columns:180px 160px auto}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0 0 16px;display:grid}.dashboard-stat-card{border:1px solid var(--border);background:#fff;border-radius:12px;gap:8px;min-height:104px;padding:18px 20px;display:grid}.dashboard-stat-card span:first-child{color:var(--muted);font-size:13px;font-weight:700}.dashboard-stat-card strong{color:var(--text);font-size:30px;line-height:1}.dashboard-stat-card strong.blue{color:var(--blue)}.dashboard-stat-card strong.danger{color:var(--red)}.submission-frame.has-sidebar .access-notice{width:calc(100% - 64px);max-width:1240px;margin:0 auto 16px}.submission-frame.has-sidebar .dashboard-alert-panel{margin-top:0;padding:14px 16px}.submission-frame.has-sidebar .stage-legend{padding:16px 0 12px}.desktop-order-table-wrap{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:32px;display:block;overflow:hidden}.desktop-order-table{border-collapse:collapse;width:100%}.desktop-order-table th{background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--muted);text-align:left;white-space:nowrap;padding:14px 18px;font-size:12px;font-weight:800}.desktop-order-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:16px 18px;font-size:14px}.desktop-order-table tbody tr:last-child td{border-bottom:0}.desktop-order-table td strong{color:var(--text)}.desktop-progress-strip{grid-template-columns:repeat(5,minmax(18px,1fr));gap:4px;min-width:150px;display:grid}.desktop-progress-strip span{background:#e5e7eb;border-radius:999px;height:5px}.desktop-progress-strip .stage-new{background:#d1d5db}.desktop-progress-strip .stage-review,.desktop-progress-strip .stage-making{background:var(--blue)}.desktop-progress-strip .stage-shipping{background:#f59e0b}.desktop-progress-strip .stage-done{background:#22c55e}.desktop-progress-strip .stage-failed{background:var(--red)}.desktop-order-note{color:var(--amber);margin-top:6px;font-size:11px;font-weight:750;display:block}.desktop-order-action{min-width:74px}.desktop-order-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.desktop-order-action.retry{color:var(--red)}.desktop-order-muted{color:var(--faint)}.desktop-order-state{text-align:center;height:180px}.desktop-order-state strong,.desktop-order-state small{display:block}.desktop-order-state small{color:var(--muted);margin-top:8px;font-size:13px}.desktop-order-state .button{margin-top:14px}.dashboard-mobile-order-list{display:none}.submission-frame.has-sidebar .screen-pad{width:calc(100% - 64px);max-width:1120px;margin:0 auto;padding:28px 0 40px}.submission-frame.has-sidebar .order-screen .screen-pad{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;max-width:1180px;display:grid}.submission-frame.has-sidebar .order-screen .form-required-note,.submission-frame.has-sidebar .order-screen .auth-message,.submission-frame.has-sidebar .order-screen .screen-pad>.button{grid-column:1/-1}.submission-frame.has-sidebar .order-form-group{border-radius:10px;margin-bottom:0;padding:18px}.submission-frame.has-sidebar .order-screen .screen-pad>.button,.submission-frame.has-sidebar .upload-screen .screen-pad>.button,.submission-frame.has-sidebar .review-screen .screen-pad>.button{justify-self:end;width:auto;min-width:180px}.submission-frame.has-sidebar .upload-screen .screen-pad{max-width:960px;display:grid}.submission-frame.has-sidebar .upload-side-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.submission-frame.has-sidebar .upload-zone{min-height:220px}.review-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.submission-frame.has-sidebar .review-screen .screen-pad{max-width:1120px;display:grid}.submission-frame.has-sidebar .review-summary-grid .order-detail-summary{margin-bottom:0}.submission-frame.has-sidebar .order-detail-summary dl div{grid-template-columns:116px minmax(0,1fr);padding:12px 14px}.model-review-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);align-items:start;gap:24px;display:grid}.submission-frame.has-sidebar .model-screen .screen-pad{max-width:1180px}.model-viewer-panel,.model-detail-panel{min-width:0}.submission-frame.has-sidebar .model-screen .viewer-wrap{border-radius:12px}.submission-frame.has-sidebar .model-detail-panel{border:1px solid var(--border);background:#fff;border-radius:12px;padding:18px}.submission-frame.has-sidebar .action-stack,.submission-frame.has-sidebar .revision-form{margin-top:8px}}@media (max-width:430px){.admin-shell,.genx-shell{padding:0}.admin-panel,.phone{box-shadow:none;border:0;border-radius:0;max-width:none;min-height:100vh}.screen,.admin-panel,.admin-state{min-height:100vh}.admin-shell-skeleton,.admin-screen{padding:18px 16px 22px}.admin-account,.admin-header{align-items:flex-start}.admin-account{display:grid}.admin-account-skeleton{align-items:flex-start;display:grid}.admin-account>span:last-child{text-align:left}.admin-section-row{grid-template-columns:38px minmax(0,1fr);align-items:flex-start}.admin-section-row em{grid-column:2;width:fit-content}.admin-section-heading{grid-template-columns:38px minmax(0,1fr) 38px}}
