@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{--font-body:"Manrope", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display:"Cormorant Garamond", "STSong", serif;--ease-smooth:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--shadow-blue-sm:0 4px 12px #2563eb1a;--shadow-blue-md:0 10px 24px #2563eb29;font-family:var(--font-body);color:#1f2937;background:#eef3fb}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font-body);color:#0f172a;background:radial-gradient(circle at 0 0,#2563eb14,#0000 30%),radial-gradient(circle at 100% 20%,#0ea5e914,#0000 35%),#eff4fb;margin:0}#root{height:100vh;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{grid-template-columns:240px 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{color:#e2e8f0;background:linear-gradient(#0a1020,#111f3d 62%,#0b1220);border-right:1px solid #94a3b833;flex-direction:column;gap:14px;height:100vh;padding:26px 16px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{margin-bottom:18px}.sidebar-kicker{letter-spacing:.18em;color:#93c5fd;margin:0 0 4px;font-size:11px}.sidebar h2{margin:0}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar-tree{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:8px;padding-right:0;display:flex;overflow-y:auto}.sidebar-tree::-webkit-scrollbar{width:0;height:0}.sidebar-group{gap:6px;display:grid}.sidebar-group-title{text-align:left;color:#e2e8f0;background:#0f172a59;border:1px solid #94a3b833;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin:0;padding:9px 12px;font-weight:700;display:flex}.sidebar-chevron{color:#93c5fd;justify-content:center;align-items:center;width:24px;height:24px;font-size:18px;font-weight:700;transition:transform .2s;display:inline-flex;transform:rotate(-90deg)}.sidebar-chevron.open{transform:rotate(0)}.sidebar-sub-links{border-left:1px solid #94a3b82e;gap:6px;margin-left:10px;padding-left:16px;display:grid}.sidebar-link-count{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-sub-links .sidebar-sub-btn{color:#cbd5e1;text-align:left;background:#0f172a42;border:1px solid #94a3b826;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.sidebar-count{color:#94a3b8;text-align:right;font-variant-numeric:tabular-nums;min-width:16px;font-size:13px;font-weight:700;line-height:1}.sidebar-sub-links .sidebar-sub-btn.active .sidebar-count{color:#e2e8f0}.sidebar-sub-links .sidebar-sub-btn:hover{color:#f8fafc;background:#1e293bb3;border-color:#94a3b861}.sidebar-sub-links .sidebar-sub-btn.active{color:#fff;background:linear-gradient(120deg,#2563eb59,#38bdf838);border-color:#7dd3fca6;box-shadow:inset 0 1px #ffffff1f}.sidebar-footer{margin-top:auto;position:relative}.sidebar-user-trigger{background:#0f172a80;border:1px solid #94a3b847;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;margin:0;padding:10px 12px;display:flex;box-shadow:inset 0 1px #ffffff0f}.sidebar-user-trigger strong{color:#f8fafc;font-size:19px;line-height:1.1;font-family:var(--font-body);font-weight:700}.sidebar-user-pop{z-index:6;background:#0f172af0;border:1px solid #94a3b84d;border-radius:12px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 16px 28px #02061773}.sidebar-user-pop-item{color:#dbeafe;background:#1e40af40;border:1px solid #94a3b859;border-radius:10px;width:100%;margin-right:0;padding:8px 10px;font-weight:700}.sidebar-user-pop-item:hover{color:#eff6ff;background:#1e40af73;border-color:#93c5fdd9}.sidebar a{color:#cbd5e1;border:1px solid #0000;border-radius:10px;padding:10px 12px;text-decoration:none;transition:all .2s}.sidebar a:hover{color:#f8fafc;background:#1e293bb3;border-color:#94a3b840}.sidebar a.active{color:#fff;background:linear-gradient(120deg,#2563eb47,#38bdf82e);border-color:#7dd3fc73}.main{min-width:0;height:100vh;padding:20px;overflow:hidden auto}.topbar-user{align-items:center;gap:8px;display:flex}.role-tag{color:#1e3a8a;background:linear-gradient(120deg,#dbeafe,#bfdbfe);border:1px solid #93c5fdbf;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1}.ghost-btn{color:#1e3a8a;background:#fff;border:1px solid #c7d2fe}.page{flex-direction:column;gap:14px;display:flex}.card{background:#ffffffe6;border:1px solid #dce6f9;border-radius:16px;padding:16px;box-shadow:0 16px 34px #0f172a0d}.page-title-card{color:#e2e8f0;background:linear-gradient(120deg,#0f172a,#1d4ed8)}.page-title-card h3{color:#f8fafc;margin:0 0 6px}.page-title-card p{color:#bfdbfe;margin:0;font-size:13px}.orders-layout{grid-template-columns:420px 1fr;gap:12px;display:grid}.order-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,290px));justify-content:start;align-items:start;gap:16px;display:grid}.execution-urgent-text{color:#0f172a;margin:0 0 12px;font-size:14px;font-weight:600}.execution-urgent-text strong{color:#dc2626;font-size:16px}.execution-exception-text{border-left:1px solid #e5e9f2;margin-left:18px;padding-left:18px}.execution-exception-text strong{color:#b42318;font-size:16px}.cad-hint{margin-left:2px;font-weight:600;color:#dc2626!important}.urgent-flag-inline{color:#fff;background:linear-gradient(160deg,#ef4444,#dc2626);border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 4px 10px #dc26264d}.execution-stage-grid{grid-template-columns:repeat(auto-fill,224px);align-items:start;gap:12px;display:grid}.execution-stage-card{color:#0f172a;text-align:left;background:#ffffffeb;border:1px solid #dbe7fff2;border-radius:16px;flex-direction:column;justify-content:flex-start;gap:10px;height:96px;margin:0;padding:16px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 22px #0f172a0b}.execution-stage-card:before{content:"";background:#60a5fa;border-radius:999px;width:3px;position:absolute;inset:14px auto 14px 0}.execution-stage-card strong{color:#0f172a;letter-spacing:.01em;font-size:15px;font-weight:800}.execution-stage-top{justify-content:space-between;align-items:center;gap:14px;display:flex}.execution-stage-label{white-space:nowrap}.execution-stage-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stage-urgent-chip{color:#dc2626;letter-spacing:.02em;white-space:nowrap;background:#fee2e2;border-radius:999px;align-items:center;gap:3px;padding:1px 8px;font-size:11px;font-weight:800;line-height:1.5;display:inline-flex}.stage-exception-chip{color:#b42318;letter-spacing:.02em;white-space:nowrap;background:#fef3f2;border:1px solid #fcdcd7;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:800;line-height:1.5;display:inline-flex}.stage-exception-chip:before{content:"";background:#f04438;border-radius:999px;width:5px;height:5px}.execution-stage-card em{color:#1d4ed8;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:34px;font-style:normal;font-weight:900;line-height:1}.execution-stage-card:hover{border-color:#bfdbfe;transform:translateY(-2px);box-shadow:0 14px 28px #1e40af13}.execution-order-grid{margin-top:10px}.execution-order-grid .order-card{min-height:128px}.execution-filter-card{border-color:#e5eefb;padding:12px 14px;box-shadow:0 8px 22px #0f172a0b}.execution-filter-card .filter-row{margin-bottom:0}.execution-list-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.execution-list-head span{color:#334155;font-size:13px;font-weight:700}.execution-list-head .mini-btn{color:#1d4ed8;background:#ffffffc7;border-color:#dbe7ff;border-radius:999px;padding:5px 9px}.order-card{background:linear-gradient(160deg,#fff,#f7fbff 45%,#f6f8fc);border:1px solid #d6e4ff;border-radius:18px;align-content:start;gap:10px;min-height:190px;padding:16px;transition:transform .25s cubic-bezier(.32,.72,0,1),box-shadow .25s cubic-bezier(.32,.72,0,1);display:grid;position:relative;box-shadow:0 14px 34px #0f172a14,inset 0 1px #ffffffe6}.clickable-card{cursor:pointer}.clickable-card:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.order-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px #0f172a24,inset 0 1px #fffffff2}.urgent-flag{color:#fff;letter-spacing:1px;z-index:2;background:linear-gradient(160deg,#ef4444,#dc2626);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:800;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 6px 14px #dc26265c}.order-summary-card h4{color:#0f172a;letter-spacing:.2px;font-size:22px;font-weight:700;font-family:var(--font-body);margin:0 0 2px}.order-summary-card p{color:#3f4d63;margin:0;font-size:13px}.order-shop-name{color:#334155;font-size:14px;font-weight:600}.order-title{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.order-brand-prefix{color:#64748b;letter-spacing:.2px;font-size:13px;font-weight:600}.order-title .order-shop-text{color:#0f172a}.order-summary-card{grid-template-columns:minmax(0,1fr)}.order-summary-card .order-title{flex-wrap:nowrap;gap:0;min-width:0}.order-summary-card .order-brand-prefix,.order-summary-card .order-shop-text{font-size:18.7px;font-weight:700;font-family:var(--font-body);letter-spacing:.2px;color:#0f172a;line-height:1.2}.order-summary-card .order-brand-prefix{flex:none}.order-summary-card .order-shop-text{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:100%;display:block;overflow:hidden}.order-summary-card .order-title .exception-chip{flex:none;align-self:center}.order-current-line{flex-wrap:wrap;align-items:flex-end;gap:10px;font-size:14px;display:flex}.order-current-line>strong,.order-current-shop .order-brand-prefix,.order-current-shop .order-shop-text,.order-current-line .order-current-product-name,.order-production-site-inline .order-production-site-label{color:#0f172a;letter-spacing:normal;font-size:14px;font-weight:600;line-height:1.4}.order-current-shop{align-items:baseline;gap:0;display:inline-flex}.order-ship-date .order-managers-inline{margin-right:16px}.order-detail-lines{flex-wrap:wrap;gap:6px;display:flex}.order-detail-line{margin:0;display:inline-flex}.order-detail-line .order-status-chip{line-height:16px;display:inline-flex}.order-list-card{width:280px;height:216px;overflow:hidden}.order-list-card .order-card-head{align-items:center}.order-list-card .order-title{flex-wrap:nowrap;flex:auto;align-items:baseline;min-width:0;margin:0}.order-list-card .order-brand-prefix{flex:none}.order-list-card .order-shop-text{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:100%;display:block;overflow:hidden}.order-list-card .order-title .exception-chip{flex:none;align-self:center}.order-list-card .order-detail-chips{height:90px;position:relative;overflow:hidden}.order-list-card .order-detail-chips .order-detail-lines{align-content:flex-start}.order-detail-lines--measure{visibility:hidden;pointer-events:none;width:100%;position:absolute;top:0;left:0}.order-more-chip{color:#64748b;letter-spacing:1px;background:#eef2f7;border:1px solid #e2e8f0;font-weight:800}.order-create-time{color:#64748b}.order-bottom-row{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.order-bottom-row .order-create-time{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.order-bottom-row.has-urgent{padding-right:34px}.order-site-tag{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:700}.order-detail-link{color:#1d4ed8;border-bottom:1px solid #2563eb40;width:fit-content;padding-bottom:2px;font-weight:600;text-decoration:none}.order-detail-link:hover{color:#0f3fb5;border-bottom-color:#0f3fb5}.order-detail-link.disabled{color:#64748b;cursor:default;border-bottom-color:#64748b33}.order-detail-header-card{background:radial-gradient(circle at 86% 18%,#60a5fa59,#0000 28%),linear-gradient(120deg,#0f172a,#1e40af);gap:6px;display:grid}.order-detail-title-wrap{justify-content:space-between;align-items:center;gap:10px;display:flex}.order-detail-status-chip{color:#dbeafe;background:#dbeafe33;border:1px solid #bfdbfe73;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.order-detail-order-no{font-family:var(--font-display);color:#f8fafc;margin:0;font-size:24px}.order-detail-sub{color:#dbeafe;margin:0;font-size:14px}.order-detail-flow-card h3,.order-detail-info-card h3,.order-detail-attachments-card h3{font-family:var(--font-display);color:#0f172a;margin:0 0 10px;font-size:24px}.order-detail-info-card{background:linear-gradient(145deg,#fff,#f8fbff);gap:10px;display:grid}.order-detail-info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.order-detail-info-grid p{background:#fff;border:1px solid #dbe7ff;border-radius:10px;gap:4px;margin:0;padding:10px;display:grid}.order-detail-info-grid p span,.order-detail-list-line span{color:#64748b;font-size:12px}.order-detail-list-line .order-current-product-label{color:#475569;font-size:13px;font-weight:700}.order-current-product-line{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.order-detail-info-grid p strong,.order-detail-list-line strong{color:#0f172a;font-size:14px;line-height:1.45}.order-detail-list-line{background:#fff;border:1px solid #dbe7ff;border-radius:10px;gap:4px;margin:0;padding:10px;display:grid}.product-config-panel{background:#fff;border:1px solid #dbe7ff;border-radius:12px;gap:8px;padding:12px;display:grid}.product-config-title{color:#64748b;font-size:12px;font-weight:700}.product-config-grid{grid-template-columns:repeat(auto-fit,minmax(120px,max-content));gap:6px;display:grid}.product-config-grid p{background:#f8fbff;border:1px solid #e2e8f0;border-radius:8px;align-content:start;gap:2px;margin:0;padding:6px 8px;display:grid}.product-config-grid p>span,.product-config-remark{color:#64748b;font-size:11px}.product-config-grid strong{color:#0f172a;font-size:13px}.product-config-remark{margin:0}.order-detail-products-line{padding:0;overflow:hidden}.product-details-toggle{border-radius:10px;padding:11px 12px}.product-details-toggle .product-details-toggle-label{color:#0f172a;font-size:13px;font-weight:700}.order-detail-products-line .order-product-config-list{padding:0 10px 10px}.order-product-config-list{gap:6px;display:grid}.order-product-config{background:#fff;border:1px solid #dbe7ff;border-radius:12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.order-product-config.expanded{border-color:#c7d8fb;box-shadow:0 8px 22px -16px #1e3a8a59}.order-product-config-head{grid-template-columns:180px minmax(0,1fr) 200px;align-items:center;gap:10px;min-height:24px;display:grid}.order-product-config-head .ophead-name{align-items:center;gap:6px;min-width:0;display:flex}.order-product-config-head .ophead-steps{justify-self:start;min-width:0}@media (width<=720px){.order-product-config-head{grid-template-columns:1fr;gap:6px}.order-product-config-head .ophead-steps,.order-product-config-head .ophead-managers{justify-self:stretch}}.product-config-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;margin:0;padding:9px 12px;transition:background .18s}.product-config-toggle.expanded{background:#f8fbff;border-bottom:1px solid #edf2fb}.product-config-toggle:hover,.product-config-toggle.expanded:hover{background:#eef4fe}.product-config-toggle:active,.product-config-toggle.expanded:active{background:#e4ecfb}.product-config-toggle:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.product-config-toggle.expanded .order-record-toggle-arrow{color:#2563eb;transform:rotate(90deg)}.product-config-body{gap:6px;padding:4px 12px 12px;display:grid}.product-config-body>.spec-strip:first-child{border-top:none;padding-top:4px}.order-product-config-head>strong{color:#0f172a;font-size:15px;line-height:1.2}.product-status-chip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfd4ff;border-radius:999px;align-items:center;padding:1px 7px;font-size:10px;font-weight:700;display:inline-flex}.order-product-config-head .detail-managers{color:#64748b;justify-self:start;margin:0;font-size:12px}.product-step-flow{flex-wrap:wrap;align-items:center;gap:4px 0;display:inline-flex}.product-step{white-space:nowrap;color:#94a3b8;background:#f4f6f9;border:1px solid #e6eaf0;border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;line-height:1.5;display:inline-flex;position:relative}.product-step:not(:first-child){margin-left:15px}.product-step:not(:first-child):before{content:"›";color:#cbd5e1;font-size:13px;line-height:1;position:absolute;left:-12px}.product-step.is-done{color:#1d4ed8;background:#eff6ff;border-color:#c7dbff}.product-step.is-active{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:700}.spec-strip{border-top:1px dashed #e2ecfd;grid-template-columns:repeat(auto-fill,minmax(150px,168px));row-gap:12px;padding:10px 0 2px;display:grid}.spec-item{border-left:1px solid #e2ecfd;align-content:start;gap:4px;min-width:0;padding:0 18px;display:grid}.spec-item:first-child{border-left:none;padding-left:0}.spec-item>span{color:#94a3b8;font-size:11px;line-height:1.1}.spec-item>strong{color:#0f172a;font-size:13px;line-height:1.25}.config-thumb-list{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.config-thumb-list .attachment-thumb{object-fit:cover;background:#fff;border:1px solid #dbe7ff;border-radius:7px;width:32px;height:32px}.config-file-chip{word-break:break-all;color:#1d4ed8;background:#f8fbff;border:1px solid #dbe7ff;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;text-decoration:none;display:inline-flex}.order-files-columns{grid-template-columns:1fr 1fr;gap:6px 0;display:grid}.order-files-columns .order-files-group:first-child{padding-right:28px}.order-files-columns .order-files-group:nth-child(2){border-left:1px solid #eef2f9;padding-left:28px}.creation-file-block{border-top:1px dashed #e2ecfd;gap:8px;padding-top:8px;display:grid}.creation-file-group{gap:4px;display:grid}.config-file-list{flex-wrap:wrap;gap:6px;display:flex}.config-file-item{background:#f3f7ff;border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;padding:3px 9px 3px 5px;font-size:13px;transition:background .18s;display:inline-flex}.config-file-item:hover{background:#e9f1ff}.config-file-item .attachment-thumb{object-fit:cover;border-radius:6px;width:28px;height:28px}.config-file-item .attachment-thumb-trigger{width:28px;height:28px}.config-file-item .attachment-inline-chip{margin-left:0}.config-file-name{color:#0f172a;word-break:break-all}.file-type-icon{border-radius:5px;flex-shrink:0;display:block}.config-file-remove{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.config-file-remove:hover{text-decoration:underline}.order-files-group{align-content:start;gap:2px;display:grid}.order-files-columns .order-files-label{color:#475569;border-bottom:1px solid #eef2f9;margin-bottom:2px;padding-bottom:4px;font-size:13px;font-weight:700}.order-files-group .config-file-item{background:0 0;border:none;border-bottom:1px solid #f1f5fb;border-radius:0;justify-content:flex-start;width:100%;min-height:40px;padding:6px 2px}.order-files-group .config-file-item:hover{background:0 0}.order-files-group .config-file-name{color:#0f172a;flex:auto;font-size:13px}.order-file-add{box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#1d4ed8;width:fit-content;box-shadow:none;background:#f3f7ff;border:1px solid #dbe6fb;border-radius:9px;flex:none;place-self:start;align-items:center;gap:5px;margin-top:10px;padding:6px 14px;font-size:13px;font-weight:600;line-height:1.2;transition:background .18s,border-color .18s,transform .12s;display:inline-flex}.order-file-add:before{content:"+";font-size:15px;font-weight:700;line-height:1}.order-file-add:hover{background:#e9f1ff;border-color:#bcd3f7}.order-file-add:active{transform:translateY(1px)}.order-file-add:has(input:focus-visible){outline-offset:2px;outline:2px solid #93b4f5}.order-file-add input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.order-file-add.is-disabled{opacity:.6;pointer-events:none}.order-files-columns .order-files-empty{color:#94a3b8;margin:0;padding:4px 2px;font-size:13px}.order-files-inline{gap:8px;display:grid}.order-files-inline .order-files-inline-title{color:#334155;font-size:13px;font-weight:700}.order-files-inline .order-files-columns{align-items:start}.order-files-inline .order-files-group{flex-direction:column;gap:2px;display:flex}.order-files-modify-hint{color:#64748b;background:#f6f8fc;border:1px solid #eef2f9;border-radius:8px;align-items:center;gap:6px;width:fit-content;margin:2px 0 0;padding:6px 10px;font-size:12px;font-weight:500;display:inline-flex}.order-files-modify-hint:before{content:"i";color:#fff;background:#94a3b8;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-style:italic;font-weight:700;display:inline-flex}.order-files-columns-editable .order-files-group{gap:4px}.order-detail-attachments-card{background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #d7e4fb;gap:10px;display:grid}.order-detail-attachment-group{background:#fff;border:1px solid #e3ecfa;border-radius:12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.order-detail-attachment-group.expanded{border-color:#cfddf6;box-shadow:0 8px 22px -16px #1e3a8a66}.order-detail-attachment-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.order-step-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;justify-content:flex-start;gap:10px;margin:0;padding:11px 14px;transition:background .18s}.order-step-toggle.expanded{background:#f8fbff;border-bottom:1px solid #edf2fb}.order-step-toggle:hover,.order-step-toggle.expanded:hover{background:#eef4fe}.order-step-toggle:active,.order-step-toggle.expanded:active{background:#e4ecfb}.order-step-toggle:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.order-step-toggle .order-detail-head-actions{margin-left:auto}.order-step-toggle.expanded .order-record-toggle-arrow{color:#2563eb;transform:rotate(90deg)}.order-detail-attachment-head strong{color:#1e3a8a;letter-spacing:.1px;font-size:14px}.order-exception-card{box-shadow:none;background:#fff6f6;border:1px solid #f3d2d2}.order-exception-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.order-exception-head h3{color:#b91c1c;margin:0;font-size:15px}.order-exception-badge{color:#fff;background:#dc2626;border-radius:999px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.order-exception-note{color:#7f1d1d;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.7}.order-exception-meta{color:#9a6a6a;margin:6px 0 0;font-size:12px}.order-step-name{align-items:center;gap:7px;display:inline-flex}.order-step-name.is-done{color:#166534}.step-done-check{color:#fff;background:#16a34a;border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 3px #16a34a66}.step-done-time{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:500}.order-step-body{gap:10px;padding:12px 14px 14px;display:grid}.mono-wrap{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.order-card-head{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.order-card-badges{flex-wrap:wrap;gap:6px;display:flex}.order-status-chip,.order-category-chip{border-radius:999px;padding:4px 10px;font-size:12px}.order-status-chip{color:#1d4ed8;background:#dbeafe}.product-name-chip{border-radius:8px;align-items:center;padding:3px 10px;font-size:13px;font-weight:700;display:inline-flex}.order-category-chip{color:#334155;background:#f1f5f9}.card-menu-wrap{position:relative}.card-menu-btn{color:#475569;background:#fff;border:1px solid #dbe3f6;border-radius:999px;width:28px;height:28px;margin:0;padding:0;font-size:18px;line-height:1}.card-menu{z-index:4;background:#fff;border:1px solid #dbe3f6;border-radius:10px;min-width:110px;padding:6px;position:absolute;top:32px;right:0;box-shadow:0 12px 30px #0f172a1f}.card-menu button{color:#1e293b;background:#fff;border:1px solid #e2e8f0;width:100%;margin:0}.card-menu button+button{margin-top:6px}.card-menu .card-menu-danger{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.button-link{color:#fff;background:#1d4ed8;border-radius:8px;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex}.back-nav-link{color:#1d4ed8;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.back-nav-link:hover{text-decoration:underline}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grid3{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.filter-row .field{color:#64748b;letter-spacing:.3px;gap:5px;font-size:12px;font-weight:600}.filter-row .field input,.filter-row .field select{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;height:40px;font-weight:500;transition:border-color .15s,background .15s,box-shadow .15s}.filter-row .field input::placeholder{color:#94a3b8;font-weight:400}.filter-row .field input:hover,.filter-row .field select:hover{background:#fff;border-color:#cbd5e1}.filter-row .field input:focus,.filter-row .field select:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.filter-btn-field,.execution-stage-tag-field{min-width:auto}.execution-stage-tag-caption{color:#64748b;letter-spacing:.3px;font-size:12px;font-weight:600}.execution-stage-tag{color:#1d4ed8;white-space:nowrap;background:linear-gradient(135deg,#eef4ff,#e6efff);border:1px solid #cfe0ff;border-radius:10px;align-items:center;gap:7px;height:40px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.execution-stage-tag-sep{color:#93b4f5;font-weight:700}.filter-btn-field .filter-label-spacer{pointer-events:none;display:block}.filter-row .filter-btn-field button{white-space:nowrap;border-radius:10px;height:40px;margin-right:0;padding:0 22px;font-weight:600}.filter-row .filter-btn-field button:not(.execution-back-btn){box-shadow:0 4px 12px -5px #2563eb8c}.filter-row .filter-btn-field button:not(.execution-back-btn):active{filter:brightness(.96);transform:translateY(0)}.export-wrap{display:inline-flex;position:relative}.filter-row .filter-btn-field .export-wrap .export-btn{color:#1d4ed8;box-shadow:none;background:#fff;border:1px solid #bcd0f7;transition:background-color .14s,border-color .14s,color .14s}.filter-row .filter-btn-field .export-wrap .export-btn:hover:not(:disabled){background:#f1f6ff;border-color:#93b4f5}.filter-row .filter-btn-field .export-wrap .export-btn:disabled{color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0}.export-backdrop{z-index:20;position:fixed;inset:0}.export-menu{z-index:21;background:#fff;border:1px solid #dbe3f6;border-radius:10px;gap:6px;min-width:150px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #0f172a29}.filter-row .filter-btn-field .export-menu button{text-align:left;color:#1e293b;width:100%;height:38px;box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:0 12px;font-weight:600}.filter-row .filter-btn-field .export-menu button:hover{background:#f1f6ff;border-color:#bcd0f7}input,select,textarea,button{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:14px}input[type=date]{cursor:pointer;position:relative}input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}input[type=file]{box-sizing:border-box;color:#0000;background:#f8fbff;border:1px solid #cfdaf0;border-radius:12px;width:100%;min-width:0;padding:8px 10px;display:block}input[type=file]::file-selector-button{color:#1e3a8a;cursor:pointer;background:#eaf2ff;border:1px solid #bfd3ff;border-radius:8px;margin-right:12px;padding:8px 12px;font-weight:600}input[type=file]::-webkit-file-upload-button{color:#1e3a8a}button{cursor:pointer;color:#fff;background:#2563eb;border-color:#2563eb;margin-right:8px;transition:all .2s}button:hover{filter:brightness(1.04);transform:translateY(-1px)}.field{color:#334155;gap:6px;font-size:13px;font-weight:600;display:grid}.field.required-field,.create-upload-card.required-field{position:relative}.field.required-field:after,.create-upload-card.required-field:after{content:"*";color:#dc2626;font-size:16px;font-weight:800;line-height:1;position:absolute;top:8px;right:10px}.create-upload-card.required-field:after{top:10px;right:12px}.field.compact{min-width:130px}.number-select{width:100%;position:relative}.number-select-trigger{color:#0f172a;text-align:left;width:100%;min-height:42px;box-shadow:none;background:#fff;border:1px solid #cfdaf0;border-radius:8px;justify-content:space-between;align-items:center;margin:0;padding:10px 34px 10px 12px;font-family:inherit;font-size:14px;display:flex;position:relative}.number-select-trigger:after{content:"";border-top:5px solid #64748b;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;top:50%;right:12px;transform:translateY(-40%)}.number-select-trigger:hover{filter:none;border-color:#9fb5dc;transform:none}.number-select-placeholder{color:#94a3b8}.number-select-menu{z-index:30;background:#fff;border:1px solid #cfdaf0;border-radius:10px;max-height:330px;position:absolute;inset:calc(100% + 4px) 0 auto;overflow-y:auto;box-shadow:0 16px 34px #0f172a1f}.number-select-menu::-webkit-scrollbar{width:8px}.number-select-menu::-webkit-scrollbar-track{background:#f8fafc;border-radius:999px}.number-select-menu::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.number-select-option{color:#0f172a;width:100%;height:33px;font:inherit;text-align:left;box-shadow:none;background:#fff;border:0;border-radius:0;margin:0;padding:0 12px;display:block}.number-select-option:hover,.number-select-option.is-selected{filter:none;color:#1d4ed8;background:#eaf2ff;transform:none}.sales-person-select{width:100%;position:relative}.sales-person-trigger{box-sizing:border-box;color:#0f172a;width:100%;min-width:0;min-height:42px;font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:#fff;border:1px solid #cfdaf0;border-radius:8px;padding:10px 34px 10px 12px}.sales-person-trigger:hover{filter:none;transform:none}.sales-person-trigger.is-placeholder{color:#94a3b8}.sales-person-search{box-sizing:border-box;width:100%;font:inherit;background:#f8fbff;border:0;border-bottom:1px solid #e2e8f0;border-radius:10px 10px 0 0;outline:none;padding:8px 12px}.sales-person-select:after{content:"";pointer-events:none;border-top:5px solid #64748b;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;position:absolute;top:21px;right:12px}.sales-person-menu{z-index:40;background:#fff;border:1px solid #cfdaf0;border-radius:10px;max-height:330px;position:absolute;inset:calc(100% + 4px) 0 auto;overflow-y:auto;box-shadow:0 16px 34px #0f172a1f}.sales-person-menu::-webkit-scrollbar{width:8px}.sales-person-menu::-webkit-scrollbar-track{background:#f8fafc;border-radius:999px}.sales-person-menu::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.sales-person-option,.sales-person-add{color:#0f172a;width:100%;min-height:34px;font:inherit;text-align:left;box-shadow:none;background:#fff;border:0;border-radius:0;margin:0;padding:0 12px;display:block}.sales-person-option{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;display:flex;position:relative}.sales-person-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sales-person-option:hover,.sales-person-option.is-selected{filter:none;color:#1d4ed8;background:#eaf2ff;transform:none}.sales-person-option-delete{color:#94a3b8;cursor:pointer;width:22px;height:22px;box-shadow:none;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:12px;line-height:1;display:inline-flex}.sales-person-option-delete:hover{filter:none;color:#dc2626;background:#fee2e2;transform:none}.sales-person-option-handle{color:#94a3b8;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:22px;margin-right:2px;font-size:14px;line-height:1;display:inline-flex}.sales-person-option-handle:hover{color:#475569;background:#f1f5f9}.sales-person-option.is-dragging{color:#1d4ed8;z-index:5;opacity:.97;cursor:grabbing;background:#fff;border-radius:8px;transition:none;box-shadow:0 10px 24px #0f172a2e}.sales-person-option.is-dragging .sales-person-option-handle{cursor:grabbing;color:#1d4ed8}.sales-person-option.is-drag-sibling{transition:transform .16s}.sales-person-add{color:#1d4ed8;background:#f8fbff;border-top:1px solid #e2e8f0;font-weight:700;position:sticky;bottom:0}.sales-person-add:hover{filter:none;background:#eaf2ff;transform:none}.sales-person-empty,.sales-person-add-placeholder{color:#94a3b8;padding:9px 12px;font-size:13px;font-weight:500}.sales-person-add-placeholder{color:#64748b;background:#f8fbff;border-top:1px solid #e2e8f0;position:sticky;bottom:0}.field.grow{flex:1}.checkbox-inline{align-items:center;gap:8px;display:flex}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#334155;background:#f8fafc;border:1px solid #cbd5e1;margin-right:0}.chip.active{color:#1d4ed8;background:#dbeafe;border-color:#60a5fa}.chip-managers{color:#64748b;margin-left:6px;font-size:11px}.chip.active .chip-managers{color:#2563eb}.detail-managers-line{display:block}.product-flow-row{background:#fff;border:1px solid #dbe7ff;border-radius:14px;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid;box-shadow:0 8px 22px #0f172a0a}.product-flow-row:hover{border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 12px 28px #1e40af14}.product-flow-info{gap:5px;min-width:0;display:grid}.product-flow-info strong{color:#0f172a;align-items:center;gap:8px;font-size:16px;line-height:1.25;display:inline-flex}.product-flow-chip{white-space:nowrap;justify-self:start}.product-flow-card{gap:12px;display:grid}.product-flow-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.product-flow-title h3{margin:0}.product-flow-title span{color:#64748b;font-size:12px;font-weight:600}.product-flow-title-actions,.order-detail-head-actions{align-items:center;gap:8px;display:inline-flex}.execution-back-btn{color:#1d4ed8;background:#fff;border:1px solid #cdddff;border-radius:8px;margin-left:0;margin-right:0;padding:8px 16px;font-size:14px}.execution-back-btn:hover{filter:none;background:#eef4ff;transform:translateY(-1px)}.product-flow-list{gap:10px;display:grid}.product-flow-row .button-link{border-radius:10px;justify-self:end;margin-right:0;padding:8px 14px;box-shadow:0 8px 18px #2563eb29}.product-add-panel{background:#fff;border:1px dashed #93c5fd;border-radius:14px;gap:12px;padding:14px;display:grid}.supplement-chip{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.order-detail-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.order-detail-section-head h3{margin:0}.order-info-no{color:#64748b;font-size:14px;font-family:var(--font-body);margin-left:12px;font-weight:700}.editable-info-grid .field{background:#fff;border:1px solid #dbe7ff;border-radius:10px;min-width:0;padding:10px}.editable-info-grid input,.editable-info-grid textarea,.editable-info-grid select{box-sizing:border-box;width:100%;min-width:0}.product-edit-list{gap:12px;display:grid}.product-edit-card{background:#fff;border:1px solid #dbe7ff;border-radius:12px;gap:10px;padding:12px;display:grid}.product-edit-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.product-edit-head strong{color:#0f172a;align-items:center;gap:8px;display:inline-flex}.order-detail-product-title{color:#1e3a8a;margin:14px 0 8px;font-size:16px}.order-detail-product-attachments{background:#fbfdff;border:1px solid #e6edf8;border-radius:14px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.order-detail-product-attachments.expanded{border-color:#cfddf6;box-shadow:0 6px 18px -12px #1e3a8a59}.order-record-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:13px 16px;transition:background .18s;display:flex}.order-record-toggle.expanded{background:#f8fbff;border-bottom:1px solid #edf2fb}.order-record-toggle:hover,.order-record-toggle.expanded:hover{background:#eef4fe}.order-record-toggle:active,.order-record-toggle.expanded:active{background:#e4ecfb}.order-record-toggle:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.order-record-toggle-arrow{color:#94a3b8;text-align:center;width:14px;font-size:13px;transition:transform .2s,color .2s}.order-record-toggle.expanded .order-record-toggle-arrow{color:#2563eb;transform:rotate(90deg)}.order-record-toggle-name{color:#3730a3;letter-spacing:.2px;background:#eef2ff;border-radius:999px;padding:3px 12px;font-size:14px;font-weight:700}.order-record-toggle-meta{color:#94a3b8;flex:1;font-size:12px}.order-record-toggle-count{color:#1d4ed8;font-variant-numeric:tabular-nums;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.order-record-toggle-count.is-empty{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.order-record-body{gap:10px;padding:12px 16px 16px;display:grid}.order-detail-attachment-group.is-empty{background:#f8fafc;border-style:dashed;border-color:#e2e8f0}.order-detail-attachment-group.is-empty .order-step-toggle:hover{background:#f1f5f9}.order-record-empty{color:#94a3b8;margin:0;font-size:12px}.record-checklist{gap:12px;display:grid}.record-checklist-group{background:#fbfdff;border:1px solid #e3ecfb;border-radius:12px;gap:8px;padding:12px;display:grid}.record-checklist-group-title{color:#1e3a8a;margin:0;font-size:13px;font-weight:800}.record-checklist-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.record-checklist-item{background:#fff;border:1px solid #eef2f9;border-radius:10px;gap:8px;padding:10px;display:grid}.record-checklist-row{align-items:center;gap:10px;display:flex}.record-checklist-title{font-weight:600}.record-checklist-desc{flex-direction:column;gap:2px;margin-top:3px;display:flex}.record-checklist-desc-line{color:#64748b;padding-left:12px;font-size:12px;font-weight:400;line-height:1.55;position:relative}.record-checklist-desc-line:before{content:"·";color:#94a3b8;position:absolute;left:3px}.record-checklist-text{color:#334155;flex-direction:column;flex:1;min-width:0;font-size:13px;font-weight:500;line-height:1.5;display:flex}.record-checklist-count{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.record-checklist-count.is-empty{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.record-media{padding-left:28px}.record-other-files{gap:6px;display:grid}.order-step-note{color:#92400e;word-break:break-word;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:0;padding:8px 12px;font-size:13px;line-height:1.5}.order-detail-head-actions .record-note-flag{color:#92400e;white-space:nowrap;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.order-detail-head-actions .record-completer{color:#166534;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.detail-managers{color:#64748b;font-size:12px;font-weight:500}table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;font-size:13px;overflow:hidden}.flow-track{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:10px;display:grid}.flow-track-card{box-shadow:none;background:#f8fbff;border:1px solid #e2e8f0;padding:10px}.flow-track-card .flow-track{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin-top:0;padding:0;display:grid}.stage-panel{gap:10px;margin-bottom:12px;display:grid}.stage-next-card{background:radial-gradient(circle at 100% 0,#3b82f614,#0000 34%),linear-gradient(145deg,#fff,#f3f8ff);border:1px solid #cfe0ff;box-shadow:0 14px 30px #0f172a0f}.stage-next-card h3{font-size:26px;font-family:var(--font-display);margin-top:0;margin-bottom:8px}.flow-step{transition:transform .35s var(--ease-spring), box-shadow .35s var(--ease-smooth), background .35s var(--ease-smooth), border-color .35s var(--ease-smooth);background:#f8fafc;border:1px solid #cbd5e1;border-radius:14px;gap:4px;padding:8px;display:grid}.flow-track-card .flow-step{min-width:0;min-height:52px;box-shadow:none;cursor:pointer;text-align:left;font:inherit;background:#fff;border-color:#e2e8f0;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:10px 12px;position:relative}.flow-track-card .flow-step:hover{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.flow-track-card .flow-step:active{transform:translateY(-1px)scale(.98)}.flow-track-card .flow-step:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.flow-track-card .flow-step.locked{cursor:not-allowed;opacity:.55;background:#f8fafc;border-style:dashed}.flow-track-card .flow-step.locked:hover{box-shadow:none;border-color:#e2e8f0;transform:none}.flow-track-card .flow-step.viewing{background:#fff7ed;border-color:#f59e0b;box-shadow:inset 0 0 0 1px #f59e0b59}.flow-track-card .flow-step.viewing:after{content:"";background:#f59e0b;border-radius:999px;width:8px;height:8px;padding:0;position:absolute;top:10px;right:10px;box-shadow:0 4px 10px #f59e0b38}.flow-track-card .flow-step.done{background:#eaf2ff;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #93c5fd38}.flow-track-card .flow-step.current{background:#2563eb;border-color:#2563eb;box-shadow:0 8px 18px #2563eb33}.flow-track-card .flow-step.current.viewing{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 10px 22px #2563eb3d}.flow-track-card .flow-step.current.viewing:after{background:#eff6ff}.flow-track-card .flow-step.current:hover{transform:translateY(-1px);box-shadow:0 10px 22px #2563eb3d}.flow-track-card .flow-step span{color:#1d4ed8;width:24px;height:24px;box-shadow:none;background:#dbeafe;justify-self:start;font-size:12px;font-weight:700}.flow-track-card .flow-step.done span{color:#fff;background:#2563eb}.flow-track-card .flow-step.current span{color:#fff;box-shadow:none;background:#ffffff2e}.flow-track-card .flow-step strong{color:#0f172a;font-size:14px;line-height:1.2}.flow-track-card .flow-step.current strong{color:#eff6ff}.flow-step span{color:#334155;background:#e2e8f0;border-radius:999px;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.flow-step.done{background:#dbeafe;border-color:#60a5fa}.flow-step.done span{color:#fff;background:#2563eb}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px 8px}th{color:#334155;background:#f8fbff;font-weight:700}.log-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:auto}.audit-table td{vertical-align:top}.audit-table{table-layout:fixed}.audit-col-time{width:12%}.audit-col-actor{width:10%}.audit-col-action{width:12%}.audit-col-target{width:10%}.audit-col-detail{width:56%}.audit-table td:first-child,.audit-table td:nth-child(2),.audit-table td:nth-child(3),.audit-table td:nth-child(4){word-break:break-word;white-space:normal}.audit-table td:nth-child(5){white-space:pre-wrap;word-break:break-all}.toast-popup{z-index:1200;color:#fff;border-radius:12px;min-width:180px;max-width:360px;padding:10px 14px;font-size:13px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 36px #0f172a3d}.toast-popup.success{background:linear-gradient(120deg,#0f766e,#0891b2)}.toast-popup.error{background:linear-gradient(120deg,#b91c1c,#dc2626)}.confirm-overlay{z-index:1250;background:#02061773;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{background:#fff;border:1px solid #dbe6fa;border-radius:14px;gap:14px;width:min(420px,92vw);padding:16px;display:grid;box-shadow:0 22px 48px #0f172a3d}.confirm-dialog p{color:#0f172a;margin:0;font-size:15px}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.prompt-dialog{background:#fff;border:1px solid #dbe6fa;border-radius:14px;gap:14px;width:min(420px,92vw);padding:18px;display:grid;box-shadow:0 22px 48px #0f172a3d}.prompt-dialog-title{color:#0f172a;margin:0;font-size:15px;font-weight:700}.prompt-dialog-input{box-sizing:border-box;color:#0f172a;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #cfdaf0;border-radius:10px;outline:none;padding:9px 12px}.prompt-dialog-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.prompt-dialog-textarea{resize:vertical;min-height:88px;line-height:1.6}.verify-overlay{z-index:1300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overscroll-behavior:contain;background:#0f172a80;place-items:center;padding:20px;animation:.18s ease-out verify-overlay-in;display:grid;position:fixed;inset:0}.verify-dialog{overscroll-behavior:contain;background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e5ecf8;border-radius:20px;gap:16px;width:min(424px,92vw);padding:26px 24px 22px;animation:.24s cubic-bezier(.22,1,.36,1) verify-dialog-in;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 70px -24px #0f172a73,0 10px 24px -16px #0f172a4d}.verify-head{align-items:flex-start;gap:14px;display:flex}.verify-badge{color:#dc2626;background:radial-gradient(120% 120% at 30% 20%,#fee2e2 0%,#fff1f2 100%);border:1px solid #fecaca;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:inset 0 1px #ffffffb3}.verify-head-text{min-width:0}.verify-dialog-title{color:#0f172a;letter-spacing:.2px;text-wrap:balance;margin:0 0 4px;font-size:17px;font-weight:700}.verify-dialog-desc{color:#64748b;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.65}.verify-send-line{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.verify-send-caption{color:#64748b;font-size:13px}.verify-send-link{color:#2563eb;cursor:pointer;background:0 0;border:none;flex:none;margin:0;padding:0;font-size:13px;font-weight:700;transition:color .14s,opacity .14s}.verify-send-link:hover:not(:disabled){color:#1d4ed8}.verify-send-link:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #2563eb80}.verify-send-link:disabled{color:#94a3b8;cursor:not-allowed;font-variant-numeric:tabular-nums}.otp-row{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.otp-box{box-sizing:border-box;aspect-ratio:3/4;text-align:center;font-variant-numeric:tabular-nums;color:#0f172a;background:#fff;border:1.5px solid #d4ddee;border-radius:12px;outline:none;width:100%;min-height:52px;padding:0;font-size:24px;font-weight:700;transition:border-color .14s,box-shadow .14s,background-color .14s}.otp-box--filled{background:#f7faff;border-color:#93b4f5}.otp-box:focus-visible{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb29}.otp-box--error{background:#fff5f5;border-color:#f0a5a5}.otp-box--error:focus-visible{border-color:#dc2626;box-shadow:0 0 0 4px #dc262629}.otp-box:disabled{opacity:.7;cursor:not-allowed}.verify-dialog-hint{color:#0f766e;min-height:18px;margin:0;font-size:13px;line-height:1.4}.verify-dialog-hint.is-error{color:#dc2626}.verify-actions{grid-template-columns:1fr 1.4fr;gap:10px;margin-top:2px;display:grid}.verify-btn{appearance:none;cursor:pointer;border:1px solid #0000;border-radius:12px;padding:11px 16px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .14s,background-color .14s,color .14s,border-color .14s,opacity .14s}.verify-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb80}.verify-btn:active:not(:disabled){transform:translateY(1px)}.verify-btn--ghost{color:#334155;background:#fff;border-color:#d4ddee}.verify-btn--ghost:hover:not(:disabled){background:#f1f5f9;border-color:#c2cfe6}.verify-btn--danger{color:#fff;background:linear-gradient(120deg,#dc2626,#ef4444);box-shadow:0 10px 22px -12px #dc2626d9}.verify-btn--danger:hover:not(:disabled){background:linear-gradient(120deg,#b91c1c,#dc2626);box-shadow:0 12px 26px -12px #dc2626f2}.verify-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}@keyframes verify-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes verify-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.verify-overlay,.verify-dialog{animation:none}.verify-btn:active:not(:disabled){transform:none}}.step-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}.step-actions button{border-radius:12px;min-width:96px;margin-right:0;padding:10px 14px;font-weight:700}.step-btn.primary{background:linear-gradient(120deg,#2563eb,#1d4ed8);border-color:#1d4ed8}.step-btn.secondary{color:#334155;background:#e2e8f0;border-color:#cbd5e1}.step-actions button[disabled]{color:#fff;cursor:not-allowed;background:#94a3b8;border-color:#94a3b8;transform:none}.step-flow-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.step-flow-nav{align-items:center;gap:8px;display:flex}.step-flow-footer .step-btn{min-width:88px;transition:transform .3s var(--ease-spring), box-shadow .3s var(--ease-smooth), filter .2s ease;border-radius:999px;margin-right:0;font-weight:700}.step-flow-footer .step-btn:not([disabled]):hover{box-shadow:var(--shadow-blue-sm);transform:translateY(-2px)}.step-flow-footer .step-btn:not([disabled]):active{transform:translateY(0)scale(.97)}.step-flow-footer .step-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.step-confirm-toggle{cursor:pointer;color:#0f172a;transition:transform .3s var(--ease-spring), box-shadow .3s var(--ease-smooth), background .25s var(--ease-smooth), border-color .25s var(--ease-smooth);background:#fff;border:1px solid #dbe7ff;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-weight:600;display:inline-flex}.step-confirm-toggle input[type=checkbox]{cursor:pointer;accent-color:#2563eb;width:18px;height:18px}.step-confirm-toggle.current{color:#1d4ed8;background:#eff6ff;border-color:#60a5fa}.step-confirm-toggle.current:hover{box-shadow:var(--shadow-blue-sm);transform:translateY(-2px)}.step-confirm-toggle.current:active{transform:scale(.98)}.step-confirm-toggle.done{color:#16a34a;background:#f0fdf4;border-color:#86efac}.step-confirm-toggle.done:hover{transform:translateY(-2px);box-shadow:0 4px 12px #22c55e2e}.step-confirm-toggle:focus-within{outline-offset:2px;outline:2px solid #2563eb}.step-confirm-toggle.locked{opacity:.55;cursor:not-allowed}.step-confirm-toggle.locked input[type=checkbox]{cursor:not-allowed}.current-order-card{flex-direction:column;gap:12px;display:flex}.current-order-card>*{margin:0}.order-production-site{align-items:center;gap:10px;display:flex}.order-production-site-inline{align-self:flex-end;align-items:flex-end;gap:8px;margin-left:4px;display:inline-flex}.order-production-site-inline .order-production-site-select{min-width:110px;padding:4px 8px;font-size:14px}.order-production-site-inline .order-production-site-label{color:#0f172a;font-size:14px;font-weight:600;line-height:1.4}.order-production-site-label{color:#64748b;font-size:13px}.order-production-site-select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:140px;padding:6px 10px;font-size:13px}.product-info-card .product-config-panel,.product-info-card .info-entry-card{box-shadow:none;background:0 0;border:none;border-radius:0;margin-top:0;padding:0}.product-info-card .product-config-title{color:#0f172a;font-size:15px}.current-order-head{justify-content:flex-start;align-items:center;gap:10px;display:flex}.current-order-head h3{margin:0}.step-confirm-by{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.step-confirm-by-label{color:#16a34a;background:#dcfce7;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.step-confirm-list{gap:10px;margin-top:12px;display:grid}.step-confirm-item{cursor:pointer;background:#fff;border:1px solid #dbe7ff;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.step-confirm-item input[type=checkbox]{cursor:pointer;accent-color:#2563eb;width:20px;height:20px}.step-confirm-item.current{background:#eff6ff;border-color:#60a5fa;box-shadow:0 6px 16px #2563eb14}.step-confirm-item.done{background:#f0fdf4;border-color:#86efac}.step-confirm-item.locked{opacity:.6;cursor:not-allowed}.step-confirm-item.locked input[type=checkbox]{cursor:not-allowed}.step-confirm-index{color:#334155;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-flex}.step-confirm-item.done .step-confirm-index{color:#fff;background:#22c55e}.step-confirm-item.current .step-confirm-index{color:#fff;background:#2563eb}.step-confirm-label{color:#0f172a;flex:1;font-weight:600}.step-confirm-state{color:#64748b;font-size:12px}.step-confirm-item.done .step-confirm-state{color:#16a34a}.step-confirm-item.current .step-confirm-state{color:#2563eb}.upload-row{background:linear-gradient(145deg,#fafcff,#f4f8ff);border:1px solid #d7e4fb;border-radius:14px;margin-bottom:10px;padding:12px}.file-input-modern{flex:1;min-width:260px}.flow-note-textarea{background:linear-gradient(145deg,#f9fcff,#f3f8ff);border:1px solid #cfe0ff;border-radius:12px;width:100%;min-height:84px}.flow-note-timeline{margin:0 0 14px;padding:0;list-style:none}.flow-note-item{grid-template-columns:18px 1fr;gap:10px;padding-bottom:12px;display:grid;position:relative}.flow-note-item:last-child{padding-bottom:0}.flow-note-item:before{content:"";background:linear-gradient(#cfe0ff,#e6eefc);width:2px;position:absolute;top:14px;bottom:-2px;left:8px}.flow-note-item:last-child:before{display:none}.flow-note-dot{z-index:1;background:#fff;border:2px solid #60a5fa;border-radius:50%;width:10px;height:10px;margin-top:5px;margin-left:4px;position:relative;box-shadow:0 0 0 3px #60a5fa29}.flow-note-content{background:#f8fbff;border:1px solid #e6eefc;border-radius:12px;min-width:0;padding:8px 12px}.flow-note-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.flow-note-stage{color:#1d4ed8;background:#eaf1ff;border:1px solid #d6e4ff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.flow-note-time{color:#94a3b8;font-size:12px}.flow-note-author{color:#64748b;font-size:12px;font-weight:600}.flow-note-text{color:#334155;white-space:pre-wrap;word-break:break-word;margin:0;font-size:13px;line-height:1.55}.flow-note-text.is-empty{color:#94a3b8;font-style:italic}.flow-note-editor{gap:6px;display:grid}.flow-note-editor-label{color:#1e3a8a;font-size:13px;font-weight:700}.attachment-card{background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #d7e4fb}.attachment-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.attachment-card h3{font-size:24px;font-family:var(--font-display);margin:0}.attachment-count{color:#1d4ed8;background:#e8f0ff;border:1px solid #bfd4ff;border-radius:999px;padding:3px 10px;font-size:12px}.attachment-table th{background:#f0f6ff}.attachment-table tbody tr:nth-child(2n){background:#fafcff}.attachment-table td:first-child{color:#1f2937;font-weight:600}.attachment-table{table-layout:fixed}.attachment-table th:first-child,.attachment-table td:first-child{text-align:left;word-break:break-all;width:40%}.attachment-table th:nth-child(2),.attachment-table td:nth-child(2){text-align:center;width:20%}.attachment-table th:nth-child(3),.attachment-table td:nth-child(3){text-align:center;width:40%}.attachment-actions{white-space:nowrap}.attachment-actions .table-link{vertical-align:middle;margin-right:14px}.attachment-actions .mini-btn{vertical-align:middle}.table-link{color:#1d4ed8;border-bottom:1px solid #2563eb47;text-decoration:none}.table-link:hover{color:#0f3fb5;border-bottom-color:#0f3fb5}.mini-btn{border-radius:10px;margin-right:0;padding:6px 10px;font-size:12px}.mini-btn.secondary{color:#334155;background:#f8fafc;border-color:#cbd5e1}.attachment-upload-label{margin-right:0;position:relative;overflow:hidden}.attachment-upload-label input{opacity:0;cursor:pointer;position:absolute;inset:0}.danger-btn{background:linear-gradient(120deg,#ef4444,#dc2626);border-color:#dc2626}.success-btn{background:#16a34a;border-color:#16a34a}.attachment-actions a.download-btn{color:#fff;text-align:center;border:1px solid #16a34a;border-radius:10px;margin-right:14px;padding:6px 10px;font-size:12px;text-decoration:none;transition:all .2s;display:inline-block}.attachment-actions a.download-btn:hover{color:#fff;filter:brightness(1.04);transform:translateY(-1px)}.upload-hint{color:#1d4ed8;margin:0 0 8px;font-size:13px}.attachment-table-wrap{background:#fff;border:1px solid #dbe6fa;border-radius:12px;overflow:auto}.attachment-inline-chip{color:#1d4ed8;background:#eff6ff;border-radius:999px;margin-left:8px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-flex}.attachment-thumb{object-fit:contain;background:#f8fafc;border:1px solid #dbe6fa;border-radius:8px;width:88px;height:58px}.attachment-thumb-empty{color:#94a3b8;font-size:12px}.attachment-thumb-trigger{cursor:pointer;background:0 0;border:none;width:88px;height:58px;margin:0;padding:0}.attachment-table td:nth-child(2),.attachment-table td:nth-child(2) .table-link{text-align:center}.attachment-thumb-trigger:hover .attachment-thumb{border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd40}.attachment-table tbody tr{content-visibility:auto;contain-intrinsic-size:auto 56px}.attachment-table .attachment-thumb-trigger{content-visibility:auto;contain-intrinsic-size:88px 58px}.train-guide-media-item{content-visibility:auto;contain-intrinsic-size:56px 56px}.train-guide-example{content-visibility:auto;contain-intrinsic-size:64px 48px}.chunked-sentinel-row td{text-align:center;color:#94a3b8;padding:10px 0;font-size:12px}.train-guide-media-more{flex:0 0 100%;height:1px}.attachment-panel{background:#fafdff;border:1px solid #dbe6fa;border-radius:14px;gap:10px;padding:12px;display:grid}.attachment-toolbar{align-items:center;gap:10px;display:flex}.attachment-toolbar-hint{color:#64748b;font-size:13px}.attachment-toolbar .order-file-add{margin-top:0}.order-file-clipboard{box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#1d4ed8;width:fit-content;box-shadow:none;background:#f3f7ff;border:1px solid #dbe6fb;border-radius:9px;flex:none;align-items:center;gap:5px;margin:0;padding:6px 14px;font-size:13px;font-weight:600;line-height:1.2;transition:background .18s,border-color .18s;display:inline-flex}.order-file-clipboard:before{content:"📋";font-size:13px;line-height:1}.order-file-clipboard:hover{filter:none;background:#e9f1ff;border-color:#bcd3f7;transform:none}.order-file-clipboard:disabled{opacity:.6;cursor:not-allowed}.is-drag-over{outline-offset:2px;-webkit-user-select:none;user-select:none;border-radius:10px;outline:2px dashed #2563eb;background:#eff6ff!important}.order-file-add-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.order-file-add-line .order-file-add{align-self:center;margin-top:0}.order-file-add-line .order-files-modify-hint{margin:0}.drop-hint{color:#94a3b8;white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:400;line-height:1.4;display:inline-flex}.drop-hint .drop-hint-icon{font-size:13px;line-height:1}.train-product-drop-hint{margin:2px 0 6px}.train-guide-group-title .train-guide-drop-hint{margin-left:8px;font-weight:400}.order-file-clipboard.is-armed{color:#c2410c;background:#fff7ed;border-color:#fdba74;animation:1.2s ease-in-out infinite clipboard-armed-pulse}@keyframes clipboard-armed-pulse{0%,to{box-shadow:0 0 #f9731659}50%{box-shadow:0 0 0 4px #f9731600}}.clipboard-paste-hint{color:#475569;flex-wrap:wrap;align-items:center;gap:4px;display:flex}.clipboard-paste-hint.is-armed{color:#c2410c;font-weight:600}.clipboard-paste-hint kbd{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-family:inherit;font-size:12px;line-height:1.4;display:inline-block}.order-file-add .required-asterisk{color:#dc2626;margin-left:2px;font-weight:700}.create-order-card{background:linear-gradient(150deg,#fff,#f8fbff);border:1px solid #dbe7ff}.create-order-head{margin-bottom:12px}.create-order-head h3{font-size:28px;font-family:var(--font-display);margin:0}.create-order-head p{color:#64748b;margin:6px 0 0;font-size:13px}.create-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 12px}.create-attachment-grid{grid-template-columns:repeat(2,minmax(260px,1fr));align-items:start;gap:14px;margin-top:14px;display:grid}.create-upload-card{background:linear-gradient(#f8fbffb8,#fffffff5),#fff;border:1px solid #dbe7ff;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title action""desc action""meta meta""files files";align-items:start;gap:7px 16px;min-height:132px;padding:16px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;position:relative}.create-upload-card:hover{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 10px 24px #1e40af14}.create-upload-card input{opacity:0;cursor:pointer;z-index:2;width:86px;height:36px;position:absolute;top:16px;right:16px}.create-upload-title{color:#0f172a;grid-area:title;font-size:15px;font-weight:800;line-height:1.2}.create-upload-desc{color:#64748b;grid-area:desc;max-width:92%;font-size:12px;line-height:1.45}.create-upload-action{color:#fff;white-space:nowrap;background:#2563eb;border-radius:999px;grid-area:action;justify-content:center;justify-self:end;align-items:center;min-width:82px;min-height:36px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 10px 22px #2563eb33}.create-upload-meta{color:#475569;grid-area:meta;margin-top:4px;font-size:12px;font-weight:700}.create-upload-file-list{flex-wrap:wrap;grid-area:files;align-items:center;gap:7px;min-width:0;margin-top:2px;display:flex}.create-upload-file-list span{color:#334155;white-space:nowrap;background:#f8fafcf2;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:8px;min-width:0;max-width:100%;padding:5px 6px 5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex;overflow:hidden}.create-upload-file-list .file-type-icon{flex:none}.create-upload-file-list button{color:#dc2626;width:20px;height:20px;box-shadow:none;background:#fff5f5;border:1px solid #fecaca;border-radius:999px;flex:none;place-items:center;margin:0;padding:0;font-size:13px;line-height:1;display:inline-grid}.create-upload-file-list button:hover{filter:none;background:#fee2e2;border-color:#fca5a5;transform:none}.create-upload-card.warn{border-color:#fed7aa}.create-upload-card.warn .create-upload-meta{color:#c2410c}.create-upload-card.ok{border-color:#bfdbfe}.create-upload-card.ok .create-upload-meta{color:#1d4ed8}.create-grid .field{background:#fff;border:1px solid #dbe8ff;border-radius:12px;padding:10px}.create-grid .field>input:not([type=file]){color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cfdaf0;border-radius:8px;width:100%;min-height:42px;padding:10px 12px}.create-grid .field>input:not([type=file]):hover{border-color:#9fb5dc}.create-grid select,.train-product-row select{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cfdaf0;border-radius:8px;width:100%;min-height:42px;padding:10px 12px}.create-grid select:hover,.train-product-row select:hover{border-color:#9fb5dc}.product-item-card .create-grid .field{align-content:start;min-width:0;min-height:64px}.product-item-card .create-grid input:not([type=file]),.product-item-card .create-grid select{box-sizing:border-box;width:100%}.create-field-block{background:#fff;border:1px solid #dbe8ff;border-radius:12px;margin-top:12px;padding:10px}.create-actions{justify-content:flex-end;margin-top:14px;display:flex}.product-item-card{background:linear-gradient(#fff,#fbfdff);border:1px solid #d8e6fb;border-radius:16px;gap:12px;margin-top:14px;padding:14px;display:grid;box-shadow:0 10px 24px #0f172a0b}.product-item-head{justify-content:space-between;align-items:center;display:flex}.info-entry-hint{color:#64748b;margin:4px 0 0;font-size:13px}.info-entry-card .create-actions{align-items:center;gap:12px;display:flex}.product-item-head strong{color:#1e3a8a;font-size:16px}.train-add-product-btn{color:#fff;box-shadow:none;background:#111827;border-color:#111827;border-radius:8px;padding:7px 12px;font-weight:700}.train-add-product-btn:hover{background:#374151;border-color:#374151}.train-product-list{gap:10px;display:grid}.train-product-row{background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:minmax(180px,1fr) minmax(190px,1fr) minmax(190px,1fr) minmax(130px,.6fr);align-items:start;gap:10px;padding:10px;display:grid;position:relative}.train-row-remove-btn{z-index:1;background:#fffffff5;border:1px solid #fed7d7;border-radius:999px;place-items:center;width:20px;height:20px;padding:0;transition:transform .15s,border-color .15s,background .15s;display:inline-grid;position:absolute;top:-6px;right:-6px;box-shadow:0 6px 14px #0f172a14}.train-row-remove-btn:before{content:"";background:#ef4444;border-radius:999px;width:8px;height:2px}.train-row-remove-btn:hover{background:#fff7f7;border-color:#fca5a5;transform:scale(1.06)}.train-product-row .field{background:#fbfdff;border:1px solid #eef2f7;border-radius:10px;min-width:0;min-height:52px;padding:8px 10px}.train-product-row input:not([type=file]),.train-product-row select{width:100%}.train-product-upload-field{align-content:start}.train-extra-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.add-product-menu{display:inline-block;position:relative}.add-product-menu-list{z-index:30;background:#fff;border:1px solid #cfdaf0;border-radius:10px;min-width:120px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 16px 34px #0f172a1f}.add-product-menu-list button{color:#0f172a;width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:0;margin:0;padding:9px 14px;display:block}.add-product-menu-list button:hover{color:#1d4ed8;background:#eaf2ff}.info-entry-empty-hint{color:#64748b;background:#f8fafc;border:1px dashed #cfdaf0;border-radius:10px;margin:6px 0 12px;padding:14px 16px;font-size:13px}.train-product-row{padding-top:16px}.train-product-row-type{color:#fff;z-index:1;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;position:absolute;top:-10px;left:12px}.train-product-row-type.is-train{background:#2563eb}.train-product-row-type.is-tablet{background:#0f766e}.train-product-row-type.is-spare{background:#b45309}.train-product-row.tablet-row{grid-template-columns:repeat(3,minmax(0,1fr))}.train-product-row.spare-row{grid-template-columns:minmax(0,1fr)}.optional-hint{color:#94a3b8;margin-left:4px;font-size:11px;font-weight:400}.upload-inline-hint-inline{color:#dc2626;margin-left:6px;font-size:11px;font-weight:600}.attachment-count.is-empty{color:#dc2626}.logo-upload-btn{color:#1d4ed8;cursor:pointer;background:#f5f9ff;border:1px dashed #93b4ef;border-radius:8px;justify-content:center;align-items:center;min-height:28px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.logo-upload-btn:hover{background:#eaf2ff;border-color:#2563eb}.logo-upload-btn input{display:none}.logo-upload-btn.is-disabled{opacity:.6;pointer-events:none}.config-thumb-with-delete{align-items:center;gap:4px;display:inline-flex}.config-thumb-delete{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:999px;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;margin:0;padding:0;font-size:12px;line-height:1;display:inline-flex}.config-thumb-delete:hover{background:#fef2f2}.train-file-name{color:#334155;text-overflow:ellipsis;white-space:nowrap;background:#f8fbff;border:1px solid #dbe7ff;border-radius:8px;align-items:center;max-width:120px;min-height:34px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.product-item-files{background:#fbfdff;border:1px solid #dbe8ff;border-radius:12px;grid-column:1/-1;gap:6px;width:100%;min-width:0;padding:8px 10px;display:grid}.product-file-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.product-file-row>span:first-child{color:#0f172a;font-weight:700}.product-item-files input[type=file]{background:0 0;border:0;border-radius:999px;flex:none;width:auto;max-width:96px;padding:0}.product-item-files input[type=file]::file-selector-button{color:#1d4ed8;box-shadow:none;background:#eff6ff;border-color:#bfdbfe;border-radius:999px;margin:0;padding:6px 10px}.product-file-count{color:#64748b;font-size:12px;font-weight:600}.product-file-list{flex-wrap:wrap;align-items:center;gap:6px;min-height:18px;display:flex}.product-file-pill{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:240px;padding:3px 4px 3px 9px;font-size:11px;font-weight:600;display:inline-flex;box-shadow:0 4px 12px #0f172a0a}.product-file-pill>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product-file-pill button{color:#dc2626;background:#fff7f7;border:1px solid #fecaca;border-radius:999px;flex:none;place-items:center;width:17px;height:17px;margin:0;padding:0;font-size:12px;line-height:1;display:inline-grid}.upload-inline-field{flex-direction:column;gap:6px;display:flex}.upload-inline-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upload-inline-label{color:#0f172a;letter-spacing:-.01em;font-weight:700}.upload-inline-note{color:#ef4444;margin-left:6px;font-size:11px;font-style:normal;font-weight:600}.upload-inline-hint{color:#ef4444;margin:0;font-size:12px;font-weight:700;display:block}.upload-inline-head .order-file-add{margin-top:0}.image-preview-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.image-preview-list:empty{display:none}.image-preview-item{display:inline-flex;position:relative}.image-preview-list .image-preview-zoom,.image-preview-list .attachment-thumb-trigger{cursor:zoom-in;background:0 0;border:0;border-radius:9px;width:46px;height:46px;margin:0;padding:0;overflow:hidden}.image-preview-list .image-preview-zoom img,.image-preview-list .attachment-thumb-trigger .attachment-thumb,.image-preview-list img{object-fit:cover;background:#fff;border:1px solid #dbe7ff;border-radius:9px;width:46px;height:46px;transition:transform .18s,box-shadow .18s,border-color .18s}.image-preview-list .image-preview-zoom:hover img,.image-preview-list .attachment-thumb-trigger:hover .attachment-thumb{border-color:#93c5fd;transform:scale(1.04);box-shadow:0 6px 16px #2563eb2e}.image-preview-list .image-preview-zoom:focus-visible,.image-preview-list .attachment-thumb-trigger:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.image-preview-remove{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:999px;place-items:center;width:18px;height:18px;margin:0;padding:0;font-size:13px;line-height:1;transition:transform .15s,background .15s,border-color .15s;display:grid;position:absolute;top:-7px;right:-7px;box-shadow:0 4px 10px #0f172a1f}.image-preview-remove:hover{background:#fff5f5;border-color:#fca5a5;transform:scale(1.08)}.users-form-grid{align-items:end}.users-checkbox-inline{background:#f8fbff;border:1px solid #dbe8ff;border-radius:10px;min-height:40px;padding:0 10px}.users-actions{gap:8px;margin-top:10px;display:flex}.users-filter-row{margin-bottom:14px}.users-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.user-card{gap:12px}.user-email{font-size:24px;line-height:1.2;font-family:var(--font-display);color:#0f172a;word-break:break-all;margin:0}.user-name{font-size:28px;line-height:1.2;font-family:var(--font-display);color:#0f172a;margin:0}.user-email-sub{color:#64748b;word-break:break-all;margin:0;font-size:13px}.user-edit-btn{color:#1d4ed8;background:#f8fbff;border:1px solid #bfd4ff;border-radius:999px;margin-right:0;padding:5px 12px;font-size:12px;font-weight:700}.user-role-text{color:#334155;margin:0;font-size:14px;font-weight:600}.users-board{gap:12px;display:grid}.users-board-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.users-board-head h3{font-size:24px;font-family:var(--font-display);margin:0}.users-add-modal{border-radius:16px;width:min(760px,92vw)}.users-add-head{padding:14px 16px}.users-add-head p{color:#64748b;margin:4px 0 0;font-size:12px}.users-add-body{background:radial-gradient(circle at 100% 0,#2563eb14,#0000 40%),#f8fbff;place-items:stretch stretch;gap:14px;padding:18px 18px 16px}.users-add-head-actions{align-items:center;gap:8px;display:flex}.users-add-head-actions .step-btn{min-width:92px}.users-add-form{gap:12px;width:min(420px,100%);display:grid}.users-add-form .field{background:#fff;border:1px solid #dbe6fa;border-radius:12px;padding:10px}.users-edit-modal{border-radius:16px;width:min(760px,92vw)}.users-edit-head{padding:14px 16px}.users-edit-head p{color:#64748b;margin:4px 0 0;font-size:12px}.users-edit-head-actions{align-items:center;gap:8px;display:flex}.users-edit-body{background:radial-gradient(circle at 100% 0,#2563eb14,#0000 40%),#f8fbff;align-content:start;place-items:stretch stretch;gap:14px;padding:18px 18px 16px;display:grid}.users-edit-form{gap:12px;width:min(420px,100%);display:grid}.users-edit-form .field{background:#fff;border:1px solid #dbe6fa;border-radius:12px;padding:10px}.users-edit-base-card{background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #dbe6fa;border-radius:14px;padding:12px}.users-edit-form.users-edit-form-3col{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}.users-edit-field{gap:6px;display:grid}.users-edit-label{color:#475569;letter-spacing:.02em;font-size:12px;font-weight:700}.users-edit-toggle{align-content:start;gap:8px;display:grid}.users-edit-toggle .checkbox-inline{background:#f8fbff;border:1px solid #dbe6fa;border-radius:10px;min-height:42px;padding:0 10px}.users-edit-head-actions .step-btn{min-width:92px}.preview-overlay{z-index:1300;background:#02061794;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.preview-dialog{background:#fff;border:1px solid #dbe3f6;border-radius:14px;grid-template-rows:auto 1fr;width:min(960px,92vw);max-height:86vh;display:grid;overflow:hidden;box-shadow:0 28px 60px #0206174d}.preview-dialog-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.preview-dialog-body{background:#f8fafc;place-items:center;padding:10px;display:grid;overflow:auto}.preview-dialog-body img,.preview-dialog-body video{background:#000;border-radius:10px;max-width:100%;max-height:72vh}.train-guide-card{background:radial-gradient(circle at 100% 0,#2563eb0f,#0000 38%),linear-gradient(145deg,#fff,#f4f8ff);border:1px solid #d7e4fb;border-radius:16px;gap:14px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 34px #0f172a0d}.train-guide-card:before{content:"";background:linear-gradient(#60a5fa,#2563eb);border-radius:999px;width:4px;position:absolute;inset:14px auto 14px 0}.train-guide-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-left:12px;display:flex}.train-guide-head-main{gap:6px;min-width:0;display:grid}.train-guide-kicker{letter-spacing:.16em;color:#2563eb;text-transform:uppercase;font-size:11px;font-weight:700}.train-guide-goal{font-family:var(--font-display);color:#0f172a;text-wrap:balance;margin:0;font-size:26px;font-weight:600;line-height:1.2}.train-guide-source{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;width:fit-content;padding:3px 10px;font-size:12px;font-weight:700}.train-guide-source-muted{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.train-guide-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.train-guide-gate{color:#b45309;background:#fff7ed;border:1px solid #fdba74;border-radius:999px;width:fit-content;padding:3px 10px;font-size:12px;font-weight:700}.train-guide-gate.is-ok{color:#15803d;background:#f0fdf4;border-color:#86efac}.train-guide-progress{flex-shrink:0;justify-items:center;gap:6px;display:grid}.train-guide-ring{--pct:0;background:conic-gradient(#2563eb calc(var(--pct) * 1%), #e2e8f0 0);width:64px;height:64px;transition:background .4s var(--ease-smooth);border-radius:50%;place-items:center;display:grid}.train-guide-ring span{color:#1d4ed8;font-variant-numeric:tabular-nums;background:#fff;border-radius:50%;place-items:center;width:50px;height:50px;font-size:14px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #bfdbfe99}.train-guide-progress.is-complete .train-guide-ring{background:conic-gradient(#16a34a 100%, #16a34a 0)}.train-guide-progress.is-complete .train-guide-ring span{color:#16a34a;box-shadow:inset 0 0 0 1px #86efacb3}.train-guide-progress-text{color:#64748b;font-size:11px;font-weight:600}.train-guide-progress.is-complete .train-guide-progress-text{color:#16a34a}.train-guide-groups{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding-left:12px;display:grid}.train-guide-group{background:#fff;border:1px solid #e3ecfb;border-radius:14px;align-content:start;gap:8px;padding:12px;display:grid}.train-guide-group-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.train-guide-group-title{color:#1e3a8a;letter-spacing:.01em;margin:0;font-size:13px;font-weight:800}.train-guide-selectall{cursor:pointer;color:#64748b;border-radius:8px;flex:none;align-items:center;gap:6px;padding:3px 8px;font-size:12px;font-weight:700;transition:background .18s,color .18s;display:inline-flex}.train-guide-selectall:hover{color:#1d4ed8;background:#f1f6fe}.train-guide-selectall.readonly{cursor:default}.train-guide-selectall.readonly:hover{color:#64748b;background:0 0}.train-guide-selectall.checked{color:#1d4ed8}.train-guide-selectall input[type=checkbox]{opacity:0;width:0;height:0;margin:0;position:absolute}.train-guide-selectall .train-guide-check{width:16px;height:16px;margin-top:0}.train-guide-selectall.checked .train-guide-check{background:#2563eb;border-color:#2563eb}.train-guide-selectall.checked .train-guide-check:after{transform:rotate(-45deg)scale(1)}.train-guide-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.train-guide-item{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:10px;padding:9px 10px;transition:background .18s,border-color .18s;display:flex}.train-guide-item:hover{background:#f5f9ff;border-color:#e3ecfb}.train-guide-item.readonly{cursor:default}.train-guide-item.readonly:hover{background:0 0;border-color:#0000}.train-guide-item input[type=checkbox]{opacity:0;width:0;height:0;margin:0;padding:0;position:absolute}.train-guide-check{background:#fff;border:1.5px solid #cbd5e1;border-radius:6px;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;transition:background .18s,border-color .18s;display:grid}.train-guide-check:after{content:"";width:9px;height:5px;transition:transform .18s var(--ease-spring);border-bottom:2px solid #fff;border-left:2px solid #fff;margin-top:-2px;transform:rotate(-45deg)scale(0)}.train-guide-item.checked .train-guide-check{background:#2563eb;border-color:#2563eb}.train-guide-item.checked .train-guide-check:after{transform:rotate(-45deg)scale(1)}.train-guide-item-title{font-weight:600}.train-guide-item-desc{flex-direction:column;gap:2px;margin-top:3px;display:flex}.train-guide-item-desc-line{color:#64748b;padding-left:12px;font-size:12px;font-weight:400;line-height:1.55;text-decoration:none;position:relative}.train-guide-item-desc-line:before{content:"·";color:#94a3b8;position:absolute;left:3px}.train-guide-item.checked .train-guide-item-desc-line,.train-guide-item.checked .train-guide-item-desc.is-flat .train-guide-item-desc-line{color:#94a3b8;-webkit-text-decoration:line-through #94a3b899;text-decoration:line-through #94a3b899}.train-guide-item-text.is-flat .train-guide-item-title{font-weight:500}.train-guide-item-desc.is-flat{margin-top:2px}.train-guide-item-desc.is-flat .train-guide-item-desc-line{color:#334155;padding-left:0;font-size:13px;font-weight:500}.train-guide-item-desc.is-flat .train-guide-item-desc-line:before{content:none}.train-guide-item-text{color:#334155;flex-direction:column;flex:1;min-width:0;font-size:13px;font-weight:500;line-height:1.5;display:flex}.train-guide-item.checked .train-guide-item-text{color:#94a3b8}.train-guide-item.checked .train-guide-item-title{-webkit-text-decoration:line-through #94a3b899;text-decoration:line-through #94a3b899}.train-guide-upload-row{gap:6px;display:grid}.train-guide-status{background:#fff;border:1.5px solid #cbd5e1;border-radius:50%;flex:none;width:18px;height:18px;margin-top:1px;position:relative}.train-guide-status.done:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:4px;position:absolute;top:4px;left:4px;transform:rotate(-45deg)}.train-guide-item.upload-item .train-guide-item-text{color:#334155;text-decoration:none}.train-guide-upload-btn{cursor:pointer;color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;flex:none;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:700;transition:background .18s,border-color .18s;display:inline-flex;position:relative;overflow:hidden}.train-guide-upload-btn:hover{background:#dbeafe}.train-guide-upload-btn.is-uploading{color:#94a3b8;cursor:default;background:#f1f5f9;border-color:#e2e8f0}.train-guide-upload-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.train-guide-upload-btn.is-uploading input{cursor:default}.train-guide-media{flex-wrap:wrap;gap:8px;padding:0 0 2px 28px;display:flex}.train-guide-examples{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0 2px 28px;display:flex}.train-guide-examples-label{color:#94a3b8;font-size:12px;font-weight:600}.train-guide-example{width:64px;height:48px;box-shadow:none;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin:0;padding:0;display:inline-flex;overflow:hidden}.train-guide-example:hover{filter:none;border-color:#93c5fd;transform:none}.train-guide-example img,.train-guide-example video{object-fit:cover;width:100%;height:100%;display:block}.train-guide-example:has(video){position:relative}.train-guide-example:has(video):after{content:"▶";color:#fff;border-radius:inherit;pointer-events:none;background:#0f172a47;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.attachment-thumb--video,.train-guide-video-thumb{background:#0f172a;display:block;position:relative;overflow:hidden}.train-guide-video-thumb{width:100%;height:100%}.attachment-thumb--video img,.train-guide-video-thumb img{object-fit:cover;width:100%;height:100%;display:block}.attachment-thumb--video:after,.train-guide-video-thumb:after{content:"▶";color:#fff;pointer-events:none;background:#0f172a47;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.guide-example-modal{z-index:1000;cursor:zoom-out;background:#0f172ab8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.guide-example-modal img,.guide-example-modal video{cursor:default;background:#fff;border-radius:10px;max-width:min(92vw,1100px);max-height:88vh;box-shadow:0 24px 60px #00000073}.guide-example-modal-close{color:#0f172a;cursor:pointer;width:40px;height:40px;box-shadow:none;background:#ffffffeb;border:none;border-radius:999px;margin:0;padding:0;font-size:22px;line-height:1;position:absolute;top:16px;right:20px}.guide-example-modal-close:hover{filter:none;background:#fff;transform:none}.train-guide-media-thumb{cursor:pointer;background:#f8fafc;border:1px solid #dbe7ff;border-radius:8px;width:56px;height:56px;margin:0;padding:0;overflow:hidden}.train-guide-media-del:hover{filter:none;background:#fee2e2;transform:none}.train-guide-confirm{background:linear-gradient(145deg,#fffaf2,#fff4e3);border:1px solid #fde2c0;border-radius:14px;gap:8px;margin-left:12px;padding:12px;display:grid}.train-guide-confirm-title{color:#b45309}.train-guide-item.is-confirm:hover{background:#ffffffb3;border-color:#fcd9a8}.train-guide-upload-row{gap:8px;padding:6px 0;display:grid}.train-guide-upload-row+.train-guide-upload-row{border-top:1px dashed #eef2f9}.train-guide-item.upload-item{cursor:default;align-items:center}.train-guide-item.upload-item:hover{background:0 0;border-color:#0000}.train-guide-status{background:#fff;border:1.5px solid #cbd5e1;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;transition:background .18s,border-color .18s;display:grid}.train-guide-status.done{background:#16a34a;border-color:#16a34a}.train-guide-status.done:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;margin-top:-2px;transform:rotate(-45deg)}.train-guide-upload-btn{white-space:nowrap;color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;flex:none;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;transition:background .18s,border-color .18s;display:inline-flex;position:relative;overflow:hidden}.train-guide-upload-btn:hover{background:#dbeafe;border-color:#93c5fd}.train-guide-upload-btn.is-uploading{opacity:.7;cursor:progress}.train-guide-upload-btn input[type=file]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.train-guide-media{flex-wrap:wrap;gap:8px;padding-left:28px;display:flex}.train-guide-media-item{display:inline-flex;position:relative}.train-guide-media-thumb{cursor:pointer;width:56px;height:56px;box-shadow:none;background:#f8fafc;border:1px solid #dbe7ff;border-radius:10px;margin:0;padding:0;overflow:hidden}.train-guide-media-thumb img,.train-guide-media-thumb video{object-fit:cover;width:100%;height:100%;display:block}.train-guide-media-thumb:hover{filter:none;border-color:#93c5fd;transform:none}.train-guide-media-del{color:#dc2626;background:#fff;border:1px solid #fecaca;border-radius:999px;place-items:center;width:18px;height:18px;margin:0;padding:0;font-size:13px;line-height:1;display:grid;position:absolute;top:-6px;right:-6px;box-shadow:0 4px 10px #0f172a1f}.train-guide-media-del:hover{filter:none;background:#fee2e2;border-color:#fca5a5;transform:none}.train-guide-item.is-static{cursor:default}.train-guide-item.is-static:hover{background:0 0;border-color:#0000}.train-guide-confirm-dot{background:#f59e0b;border-radius:50%;flex:none;width:7px;height:7px;margin-top:7px;box-shadow:0 0 0 3px #f59e0b29}.train-guide-item.is-confirm.checked .train-guide-check{background:#16a34a;border-color:#16a34a}.train-guide-badge{border-radius:999px;flex:none;align-items:center;gap:3px;margin-top:1px;padding:1px 8px;font-size:11px;font-weight:700;line-height:1.6;display:inline-flex}.train-guide-badge.type-sign{color:#6d28d9;background:#ede9fe;border:1px solid #ddd2fb}.train-guide-badge.type-upload{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.train-guide-badge.type-status{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.train-guide-exception{color:#991b1b;background:linear-gradient(130deg,#fff5f5,#fee2e2);border:1px solid #fecaca;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 0 12px;padding:10px 12px;font-size:12.5px;line-height:1.6;display:flex}.train-guide-exception-tag{color:#dc2626;background:#fff;border:1px solid #fca5a5;border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:800}.train-guide-reminder{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:10px 0 0;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.5}.train-guide-reminder:before{content:"提醒：";font-weight:700}.train-guide-footer{border-top:1px dashed #e3ecfb;justify-content:flex-end;margin-left:12px;padding-top:4px;display:flex}.train-guide-exception-btn{color:#b91c1c;box-shadow:none;background:#fff;border:1px solid #fca5a5;border-radius:999px;margin:8px 0 0;padding:9px 18px;font-weight:700;transition:background .18s,border-color .18s,transform .18s}.train-guide-exception-btn:hover{filter:none;background:#fef2f2;border-color:#f87171;transform:translateY(-1px)}.train-guide-exception-btn:active{transform:translateY(0)scale(.98)}.exception-chip{color:#b42318;background:#fef3f2;border:1px solid #fcdcd7;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.exception-chip:before{content:"";background:#f04438;border-radius:999px;width:6px;height:6px}.tip-text.exception-tip{color:#7f1d1d;background:#fff6f6;border:1px solid #f3d2d2;align-items:center;gap:10px;display:flex}.exception-tip-text{font-size:13px;font-weight:600;line-height:1.5}@media (width<=640px){.train-guide-head{flex-direction:row-reverse;justify-content:flex-end}.train-guide-groups{grid-template-columns:1fr}}.login-wrap{place-items:center;min-height:100vh;display:grid}.login-wrap .card{width:420px;max-width:90vw}.message{color:#b91c1c}.tip-text{color:#1e3a8a;background:linear-gradient(130deg,#f0f7ff,#ebf3ff);border:1px solid #c5dcff;border-radius:10px;padding:9px 12px}.login-stage{background:#06090f;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-visual{background-image:url(https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=1600&q=80);background-position:50%;background-size:cover;position:relative}.login-visual-overlay{background:linear-gradient(120deg,#050812e6 20%,#0e1f3aad 62%,#16488e6b 100%),radial-gradient(circle at 30% 10%,#5eead438,#0000 46%);position:absolute;inset:0}.login-visual-content{z-index:1;color:#eff6ff;max-width:560px;padding:72px 64px;position:relative}.login-kicker{letter-spacing:.2em;color:#93c5fd;font-size:12px}.login-visual-content h1{font-family:var(--font-display);color:#f8fafc;margin:22px 0 10px;font-size:clamp(46px,6vw,70px);font-weight:600;line-height:.95}.login-subtitle{color:#dbeafe;max-width:460px;line-height:1.7}.login-feature-list{gap:10px;margin-top:26px;padding:0;list-style:none;display:grid}.login-feature-list li{color:#dbeafe;background:#09122473;border:1px solid #bfdbfe3b;border-radius:999px;width:fit-content;padding:8px 16px;font-size:13px}.login-panel{background:radial-gradient(circle at 20% 20%,#3b82f61f,#0000 35%),radial-gradient(circle at 80% 80%,#ec489929,#0000 42%),#04060c;place-items:center;padding:30px;display:grid}.login-card-modern{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2e8f0;background:#0d1424b8;border:1px solid #94a3b847;border-radius:20px;gap:12px;width:min(430px,92vw);padding:32px 28px;display:grid;box-shadow:0 28px 50px #0206178a}.login-card-modern h2{font-family:var(--font-display);color:#f8fafc;margin:0;font-size:40px;line-height:1}.login-hint{color:#94a3b8;font-size:13px}.login-card-modern label{color:#cbd5e1;gap:6px;font-size:13px;display:grid}.login-card-modern input{color:#f8fafc;box-sizing:border-box;background:#0f172aa3;border:1px solid #94a3b859;border-radius:12px;min-height:44px;padding:11px 14px}.login-card-modern input::placeholder{color:#64748b}.login-card-modern input:focus{border-color:#60a5fad9;outline:none;box-shadow:0 0 0 3px #60a5fa38}.login-card-modern input.input-error,.login-card-modern .password-input-wrap input.input-error{border-color:#f87171;animation:.32s login-shake;box-shadow:0 0 0 3px #f8717147}.login-card-modern input.input-error:focus,.login-card-modern .password-input-wrap input.input-error:focus{border-color:#f87171;box-shadow:0 0 0 3px #f8717166}@keyframes login-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.login-feedback{border-radius:10px;margin:4px 0 0;padding:9px 12px;font-size:13px;line-height:1.4}.login-feedback.is-error{color:#fecaca;background:#f8717124;border:1px solid #f8717166}.login-feedback.is-success{color:#bbf7d0;background:#22c55e24;border:1px solid #22c55e66}.password-input-wrap{width:100%;position:relative}.password-input-wrap input{color:#f8fafc;background:#0f172aa3;border:1px solid #94a3b859;border-radius:12px;width:100%;min-height:44px;padding-right:46px}.password-eye-btn{color:#94a3b8;cursor:pointer;z-index:2;background:0 0;border:none;border-radius:0;place-items:center;width:32px;height:32px;margin:0;padding:0;transition:color .15s,background .15s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-eye-btn:hover{color:#e2e8f0;background:0 0;transform:translateY(-50%)}.login-card-modern .password-eye-btn{color:#94a3b8;background:0 0;border:none;border-radius:0;width:32px;min-width:0;height:32px;margin:0;padding:0}.login-card-modern .password-eye-btn:hover{color:#e2e8f0;background:0 0}.login-card-modern button{color:#0b1220;background:linear-gradient(110deg,#7dd3fc,#60a5fa,#a78bfa);border:none;border-radius:12px;margin-top:6px;padding:10px 14px;font-weight:700}.login-code-row{align-items:stretch;gap:10px;display:flex}.login-code-row .login-code-input{letter-spacing:.18em;font-variant-numeric:tabular-nums;flex:auto;min-width:0}.login-card-modern .login-code-send{color:#bfdbfe;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:pointer;background:#60a5fa1f;border:1px solid #60a5fa80;border-radius:12px;flex:none;min-width:112px;margin-top:0;padding:0 14px;font-size:13px;font-weight:600;transition:background .18s,color .18s,border-color .18s,opacity .18s}.login-card-modern .login-code-send:hover:not(:disabled){color:#e0f2fe;background:#60a5fa38;border-color:#7dd3fcb3}.login-card-modern .login-code-send:disabled{cursor:not-allowed;opacity:.6}.login-card-modern .login-code-send.is-counting{color:#94a3b8;opacity:1;background:#94a3b81f;border-color:#94a3b852}.login-submit{width:100%}.login-submit:not(:disabled):hover{filter:brightness(1.05)}.login-submit:disabled{cursor:not-allowed;opacity:.7}.login-footnote{color:#64748b;font-size:12px}.login-mode-switch{color:#64748b;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.login-mode-switch .text-link{all:unset;cursor:pointer;color:#94a3b8;font-size:12px;line-height:1}.login-mode-switch .text-link.active{color:#e2e8f0;text-decoration:underline}@media (width<=980px){html,body,#root{height:auto;overflow:visible}.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{border-bottom:1px solid #94a3b833;border-right:none;height:auto;position:static;overflow:visible}.sidebar nav{flex-flow:wrap}.sidebar-tree{padding-right:0;overflow:visible}.sidebar-footer{margin-top:6px}.main{height:auto;overflow:visible}.orders-layout,.login-stage{grid-template-columns:1fr}.login-visual{min-height:260px}.login-visual-content{padding:28px 22px}.login-feature-list{display:none}.create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.create-attachment-grid{grid-template-columns:1fr}.users-edit-form.users-edit-form-3col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.product-flow-row{grid-template-columns:1fr;align-items:start}.product-flow-row .button-link{text-align:center;justify-self:stretch}.create-grid{grid-template-columns:1fr}.order-files-columns{grid-template-columns:1fr;gap:16px}.order-files-columns .order-files-group:first-child{padding-right:0}.order-files-columns .order-files-group:nth-child(2){border-top:1px solid #eef2f9;border-left:none;padding-top:14px;padding-left:0}.users-edit-form.users-edit-form-3col{grid-template-columns:1fr}}.backup-panel{gap:18px;display:grid}.backup-num{font-variant-numeric:tabular-nums}.backup-head{border-bottom:1px solid #eef2f9;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.backup-head-text h3{font-size:22px;font-family:var(--font-display);letter-spacing:-.01em;margin:0}.backup-sub{color:#64748b;text-wrap:pretty;max-width:46ch;margin:6px 0 0;font-size:13px;line-height:1.5}.backup-head-stats{gap:10px;margin:0;display:flex}.backup-stat{background:#f6f9ff;border:1px solid #e6eefc;border-radius:12px;min-width:96px;padding:8px 14px}.backup-stat dt{color:#94a3b8;letter-spacing:.02em;font-size:11px}.backup-stat dd{color:#1e293b;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px;font-weight:700}.backup-stat-time{font-size:13px!important;font-weight:600!important}.backup-block{background:#f8fafc;border-radius:14px;gap:12px;padding:16px;display:grid}.backup-block-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.backup-block-head h4{color:#0f172a;margin:0;font-size:15px;font-weight:700}.backup-hint{color:#94a3b8;margin:0;font-size:12px;line-height:1.6}.backup-hint strong{color:#475569;font-variant-numeric:tabular-nums}.backup-file-hidden{display:none}.bk-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #d6e0f5;border-radius:10px;justify-content:center;align-items:center;gap:7px;margin:0;padding:9px 16px;font-size:14px;font-weight:600;transition:transform .12s,box-shadow .2s,background .2s,border-color .2s,color .2s;display:inline-flex}.bk-btn svg{flex-shrink:0}.bk-btn:hover{border-color:#b8caf0;box-shadow:0 6px 16px #0f172a14}.bk-btn:active{box-shadow:none;transform:translateY(1px)}.bk-btn:focus-visible{outline-offset:2px;outline:2px solid #93c5fd}.bk-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.bk-btn--primary{color:#fff;background:linear-gradient(120deg,#2563eb,#1d4ed8);border-color:#1d4ed8}.bk-btn--primary:hover{border-color:#1d4ed8;box-shadow:0 8px 20px #2563eb47}.bk-btn--danger{color:#fff;background:linear-gradient(120deg,#ef4444,#dc2626);border-color:#dc2626}.bk-btn--danger:hover{border-color:#dc2626;box-shadow:0 8px 20px #dc262642}.bk-btn--danger-ghost{color:#dc2626;background:#fff6f6;border-color:#fbd0d0}.bk-btn--danger-ghost:hover{border-color:#f4b4b4;box-shadow:0 6px 16px #dc26261f}.bk-btn--ghost{color:#64748b;background:0 0;border-color:#0000}.bk-btn--ghost:hover{box-shadow:none;background:#eef2f9}.bk-btn--sm{border-radius:8px;padding:6px 12px;font-size:13px}.backup-actions{flex-wrap:wrap;gap:10px;display:flex}.backup-switch{cursor:pointer;-webkit-user-select:none;user-select:none;color:#334155;align-items:center;gap:9px;font-size:13px;font-weight:600;display:inline-flex}.backup-switch input{opacity:0;width:0;height:0;position:absolute}.backup-switch-track{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:background .2s;position:relative}.backup-switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0f172a40}.backup-switch input:checked+.backup-switch-track{background:linear-gradient(120deg,#2563eb,#1d4ed8)}.backup-switch input:checked+.backup-switch-track .backup-switch-thumb{transform:translate(16px)}.backup-switch input:focus-visible+.backup-switch-track{outline-offset:2px;outline:2px solid #93c5fd}.backup-config-grid{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.backup-field{gap:6px;width:150px;display:grid}.backup-field-label{color:#64748b;font-size:12px;font-weight:600}.backup-field input{font-variant-numeric:tabular-nums;background:#fff;border:1px solid #d6e0f5;border-radius:9px;width:100%;padding:8px 10px;font-size:14px}.backup-field input:focus-visible{outline-offset:1px;border-color:#93c5fd;outline:2px solid #93c5fd}.backup-switch--field{align-self:center;padding-bottom:8px}.backup-config-save{margin-left:auto}.backup-refresh{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:8px;margin:0;padding:5px 14px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s}.backup-refresh:hover{background:#eff6ff;border-color:#93c5fd}.backup-empty{text-align:center;color:#94a3b8;background:#fff;border:1px dashed #d6e0f5;border-radius:12px;justify-items:center;gap:6px;padding:28px 16px;display:grid}.backup-empty-icon{color:#93acd8;background:#eff4ff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.backup-empty p{color:#64748b;margin:0;font-weight:600}.backup-empty-sub{font-size:12px}.backup-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.backup-row{background:#fff;border:1px solid #e6eefc;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;transition:box-shadow .2s,border-color .2s,transform .12s;display:flex}.backup-row:hover{border-color:#cfdcf6;box-shadow:0 8px 20px #0f172a0f}.backup-row-main{gap:5px;min-width:0;display:grid}.backup-row-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.backup-row-name{color:#0f172a;word-break:break-all;font-size:14px;font-weight:600}.backup-row-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.backup-dot{color:#cbd5e1}.backup-chip{border-radius:999px;align-items:center;padding:2px 9px;font-size:11px;font-weight:600;line-height:1.6;display:inline-flex}.backup-chip--auto{color:#1d4ed8;background:#dbeafe}.backup-chip--manual{color:#15803d;background:#dcfce7}.backup-chip--export{color:#6d28d9;background:#ede9fe}.backup-chip--unknown{color:#475569;background:#e2e8f0}.backup-chip--media{color:#b45309;background:#fef3c7}.backup-row-actions{flex-shrink:0;gap:8px;display:flex}.backup-conflict-modal{border-radius:16px;grid-template-rows:auto 1fr auto;width:min(620px,94vw)}.backup-conflict-head{align-items:flex-start}.backup-conflict-head-text strong{color:#0f172a;font-size:16px}.backup-conflict-head-text p{color:#64748b;margin:4px 0 0;font-size:12.5px;line-height:1.5}.backup-conflict-body{background:#f8fafc;align-content:start;place-items:stretch stretch;gap:16px;padding:14px;display:grid}.backup-conflict-group{gap:8px;display:grid}.backup-conflict-group-head{z-index:1;background:#f8fafc;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;display:flex;position:sticky;top:-14px}.backup-conflict-group-title{align-items:center;gap:8px;display:flex}.backup-conflict-group-name{color:#0f172a;font-size:14px;font-weight:700}.backup-conflict-group-count{color:#64748b;background:#e8eefb;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:600}.backup-conflict-group-actions{align-items:center;gap:6px;display:flex}.backup-link-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:12.5px;font-weight:600}.backup-link-btn:hover{text-decoration:underline}.backup-link-btn--warn{color:#ea580c}.backup-conflict-list{gap:8px;display:grid}.backup-chip--current{color:#1d4ed8;background:#dbeafe}.backup-chip--history{color:#475569;background:#e2e8f0}.backup-conflict-row{background:#fff;border:1px solid #e6eefc;border-left:3px solid #cbd5e1;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;transition:border-color .2s,background .2s;display:flex}.backup-conflict-row.is-skip{border-left-color:#94a3b8}.backup-conflict-row.is-overwrite{background:#fff8f1;border-left-color:#f97316}.backup-conflict-info{gap:2px;min-width:0;display:grid}.backup-conflict-no{color:#0f172a;font-variant-numeric:tabular-nums;font-weight:600}.backup-conflict-shop{color:#64748b;font-size:12px}.backup-decision{cursor:pointer;background:#fff;border:1px solid #d6e0f5;border-radius:8px;flex-shrink:0;padding:5px 10px;font-size:13px;font-weight:600}.backup-decision--overwrite{color:#b45309;background:#fffbeb;border-color:#fbbf24}.backup-decision--skip{color:#475569}.backup-conflict-foot{background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.backup-conflict-foot-info{color:#64748b;font-size:13px}.backup-conflict-foot-actions{gap:8px;display:flex}@media (width<=720px){.backup-head-stats{width:100%}.backup-stat{flex:1}.backup-config-save{width:100%;margin-left:0}}@media (width<=640px){.backup-row{flex-direction:column;align-items:stretch}.backup-row-actions{justify-content:stretch}.backup-row-actions .bk-btn{flex:1}.backup-field{width:100%}}
