*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#0f172a;background:#f7fafc;overflow:hidden}.login-shell{background:linear-gradient(135deg,#2563eb14,#14b8a614),#f7fafc;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #e5edf6;border-radius:8px;width:min(392px,100%);padding:28px;box-shadow:0 18px 48px #0f172a1a}.login-brand{align-items:center;gap:12px;margin-bottom:24px;display:flex}.brand-mark,.login-mark{color:#fff;background:linear-gradient(135deg,#2563eb,#14b8a6);border-radius:8px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.login-title{color:#0f172a!important;margin:0!important}.public-shell{background:linear-gradient(#ecfdf5b8,#f7fafc00 300px),#f7fafc;height:100vh;overflow:auto}.public-topbar{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #e5edf6;align-items:center;min-height:64px;padding:0 22px;display:flex;position:sticky;top:0}.public-brand{margin:0}.public-content{width:min(1040px,100% - 32px);margin:0 auto;padding:22px 0 36px}.public-query-panel,.public-result-panel{background:#fff;border:1px solid #e5edf6;border-radius:8px;box-shadow:0 10px 34px #0f172a0f}.public-query-panel{padding:20px}.public-heading{align-items:center;gap:14px;display:flex}.public-heading>.anticon{color:#0f766e;background:#ccfbf1;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.public-heading h3,.public-result-header h3{margin:0!important}.public-query-form{gap:10px;display:flex}.public-query-form .ant-form-item{margin:0}.public-result-panel{margin-top:16px;padding:20px}.public-result-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.trace-public-shell{color:#10201d;background:radial-gradient(circle at 16% 8%,#14b8a633,#0000 28%),linear-gradient(135deg,#ecfeff 0%,#f8fafc 48%,#fff7ed 100%);min-height:100vh;overflow:auto}.trace-public-hero{color:#fff;background:linear-gradient(135deg,#0f766eeb,#0d9488c7),#0f766e;padding:34px 20px 86px}.trace-public-brand{align-items:center;gap:18px;width:min(920px,100%);margin:0 auto;display:flex}.trace-public-mark{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff24;border:1px solid #ffffff6b;border-radius:18px;flex:0 0 56px;place-items:center;width:56px;height:56px;font-size:24px;font-weight:900;display:grid}.trace-public-eyebrow,.trace-public-brand .ant-typography{color:#ffffffdb!important}.trace-public-brand h2.ant-typography{letter-spacing:-.02em;color:#fff!important;margin:2px 0 4px!important}.trace-public-content{width:min(920px,100% - 32px);margin:-58px auto 0;padding-bottom:42px}.trace-public-card,.trace-public-result,.trace-public-placeholder{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #e2e8f0e6;border-radius:22px;box-shadow:0 24px 72px #0f172a1f}.trace-public-query{padding:22px}.trace-public-heading{align-items:center;gap:14px;display:flex}.trace-public-heading>.anticon{color:#0f766e;background:#ccfbf1;border-radius:15px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.trace-public-heading h4.ant-typography{margin:0!important}.trace-public-result{margin-top:18px;padding:26px}.trace-public-result.valid{border-color:#14b8a652}.trace-public-result.fake{border-color:#f973165c}.trace-public-status{align-items:flex-start;gap:18px;display:flex}.trace-public-status-icon{color:#059669;background:#ecfdf5;border-radius:20px;flex:0 0 62px;place-items:center;width:62px;height:62px;font-size:32px;display:grid}.trace-public-result.fake .trace-public-status-icon{color:#ea580c;background:#fff7ed}.trace-public-status h3.ant-typography{margin:2px 0 6px!important}.trace-public-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.trace-public-facts .ant-card{border-color:#e5edf6;border-radius:16px}.trace-public-facts h5.ant-typography{margin:6px 0 0!important}.trace-public-warnings{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.trace-public-events{background:linear-gradient(#f8fafc,#eff6ff);border:1px solid #dbeafe;border-radius:18px;margin-top:22px;padding:18px}.trace-public-events h5.ant-typography{margin:0 0 14px!important}.trace-public-event-list{gap:14px;display:grid}.trace-public-event{grid-template-columns:14px 1fr;gap:12px;display:grid;position:relative}.trace-public-event:not(:last-child):after{content:"";background:#bfdbfe;width:2px;position:absolute;top:18px;bottom:-12px;left:6px}.trace-public-event-dot{z-index:1;background:#0f766e;border:3px solid #dbeafe;border-radius:999px;width:14px;height:14px;margin-top:3px;position:relative}.trace-public-event .ant-typography{display:block}.trace-public-event .ant-typography-secondary{margin-top:3px;font-size:12px}.trace-public-event p.ant-typography{color:#334155;margin:6px 0 0!important}.trace-public-reward{color:#1d4ed8;background:#eff6ff;border-radius:16px;align-items:center;gap:10px;margin-top:18px;padding:14px 16px;font-weight:700;display:flex}.trace-public-placeholder{text-align:center;place-items:center;min-height:240px;margin-top:18px;padding:28px;display:grid}.trace-public-placeholder>.anticon{color:#0f766e;font-size:48px}.trace-public-banner{object-fit:cover;border-radius:22px;width:100%;max-height:280px;margin-top:18px;display:block;box-shadow:0 18px 48px #0f172a1a}.trace-public-action{border-radius:16px;width:100%;margin-top:18px}.app-shell{background:#f7fafc;height:100vh;overflow:hidden}.app-shell>.ant-layout{height:100vh;min-height:0;overflow:hidden}.app-sider{border-right:1px solid #e5edf6;height:100vh;overflow:hidden;background:#fff!important}.app-brand{border-bottom:1px solid #edf2f7;align-items:center;gap:12px;height:64px;padding:0 18px;display:flex}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-title{color:#0f172a;font-size:15px;font-weight:800}.brand-subtitle{color:#64748b;margin-top:3px;font-size:12px}.app-menu{height:calc(100vh - 64px);padding:10px;overflow-y:auto;border-inline-end:0!important}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #e5edf6;justify-content:space-between;align-items:center;height:64px;padding:0 22px;line-height:1;display:flex}.user-pill{background:#fff;border:1px solid #e5edf6;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;display:inline-flex}.page-content{background:linear-gradient(#eff6ffe6,#f7fafc00 260px),#f7fafc;height:calc(100vh - 64px);min-height:0;padding:22px;overflow:auto}.page-stack{width:100%}.filter-bar{background:#fff;border:1px solid #e5edf6;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex;box-shadow:0 6px 22px #0f172a0a}.filter-bar .ant-form-item{margin:0}.filter-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.coordinate-map-preview{background:radial-gradient(circle at 18% 22%,#3b82f629,#0000 28%),radial-gradient(circle at 78% 38%,#14b8a624,#0000 24%),linear-gradient(135deg,#f8fafc,#eff6ff);border:1px solid #dbeafe;border-radius:12px;overflow:hidden}.coordinate-map-header{background:#ffffffb8;border-bottom:1px solid #2563eb1f;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.coordinate-map-canvas{background-image:linear-gradient(#2563eb17 1px,#0000 1px),linear-gradient(90deg,#2563eb17 1px,#0000 1px);background-size:42px 42px;min-height:280px;position:relative}.coordinate-map-canvas:before{content:"";pointer-events:none;border:1px dashed #2563eb3d;border-radius:18px;position:absolute;inset:18px}.coordinate-map-point{z-index:1;background:#2563eb;border:2px solid #fff;border-radius:999px;width:13px;height:13px;transition:transform .18s,box-shadow .18s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #2563eb29,0 8px 18px #0f172a2e}.coordinate-map-point:hover{transform:translate(-50%,-50%)scale(1.38);box-shadow:0 0 0 8px #2563eb33,0 10px 22px #0f172a3d}.coordinate-map-point-completed{background:#16a34a;box-shadow:0 0 0 5px #16a34a29,0 8px 18px #0f172a2e}.coordinate-map-point-pending_warranty,.coordinate-map-point-pending_acceptance{background:#f97316;box-shadow:0 0 0 5px #f973162e,0 8px 18px #0f172a2e}.coordinate-map-point-under_construction,.coordinate-map-point-to_be_entered{background:#0891b2;box-shadow:0 0 0 5px #0891b229,0 8px 18px #0f172a2e}.coordinate-map-point-merchant{background:#ea580c;border-radius:4px;width:16px;height:16px;box-shadow:0 0 0 5px #ea580c2e,0 8px 18px #0f172a33}.coordinate-map-empty{color:#64748b;text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.lead-quote{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.lead-quote-inline{color:#475569;flex-wrap:wrap;align-items:center;gap:14px;min-height:32px;font-size:14px;display:flex}.lead-quote-inline strong{color:#0f172a;font-size:18px;font-weight:700}.lead-quote .ant-statistic-title{margin-bottom:2px;font-size:12px}.lead-quote .ant-statistic-content{font-size:18px}.data-panel{background:#fff;border:1px solid #e5edf6;border-radius:8px;overflow:hidden;box-shadow:0 8px 28px #0f172a0d}.data-panel .ant-table-wrapper{border-radius:8px}.data-panel .ant-table{background:0 0}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-card{background:#fff;border:1px solid #e5edf6;border-radius:10px;padding:14px 16px;box-shadow:0 8px 28px #0f172a0d}.table-tools{background:#fff;border:1px solid #e5edf6;border-radius:8px;padding:12px 14px}.clickable-card{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.clickable-card:hover,.clickable-card:focus-visible{border-color:#2563eb;transform:translateY(-1px);box-shadow:0 12px 30px #2563eb24}.clickable-row{cursor:pointer}.clickable-row:hover>td,.clickable-row:focus-visible>td{background:#eff6ff!important}.form-panel{padding:18px}.form-grid{gap:0 16px;display:grid}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.input-addon-fixed{white-space:nowrap;color:#000000a6;background:#f5f5f5;border:1px solid #d9d9d9;border-left:0;border-radius:0 6px 6px 0;flex:none;align-items:center;min-height:32px;padding:4px 11px;display:inline-flex}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.tabs-panel{padding:0 14px 14px}.menu-permission-tree{background:#fff;border:1px solid #e5edf6;border-radius:8px;max-height:min(58vh,520px);padding:8px 4px;overflow:auto}.menu-icon-input-preview,.menu-icon-table-preview{color:#2563eb;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.menu-icon-table-preview{background:#f8fafc;border:1px solid #e5edf6;border-radius:6px;width:28px;height:28px}.icon-picker-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;max-height:356px;padding:2px 2px 4px;display:grid;overflow:auto}.icon-picker-item{color:#334155;cursor:pointer;background:#fff;border:1px solid #e5edf6;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;height:64px;padding:6px 4px;display:flex}.icon-picker-item:hover,.icon-picker-item.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.icon-picker-symbol{justify-content:center;align-items:center;height:22px;font-size:19px;display:inline-flex}.icon-picker-label{text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:12px;line-height:1.2;overflow:hidden}.ant-table-thead>tr>th{font-weight:700!important}.ant-modal-content{box-shadow:0 24px 70px #0f172a2e!important}@media (width<=760px){.public-topbar{padding:0 16px}.public-content{width:min(100% - 24px,1040px);padding-top:14px}.public-query-panel,.public-result-panel{padding:16px}.public-heading,.public-result-header{flex-direction:column;align-items:flex-start}.public-query-form,.public-query-form .ant-form-item,.public-query-form .ant-input,.public-query-form .ant-btn{width:100%!important}.trace-public-hero{padding:28px 16px 76px}.trace-public-brand{align-items:flex-start}.trace-public-content{width:min(100% - 24px,920px)}.trace-public-status{flex-direction:column}.trace-public-facts{grid-template-columns:1fr}.app-sider{display:none}.app-header{padding:0 14px}.page-content{padding:14px}.filter-bar{align-items:stretch}.filter-actions{width:100%}.filter-bar .ant-form-item,.filter-bar .ant-input,.filter-bar .ant-select,.filter-bar .ant-cascader{width:100%!important}.form-grid.two-col{grid-template-columns:1fr}.icon-picker-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
