:root{--green:#1f7652;--dark:#173c2e;--line:#dce5df;--muted:#52645b;--pale:#edf6f0;--cream:#f5f2e9;--amber:#9a5b0c}*{box-sizing:border-box}body{margin:0;background:#eef1ed;color:#17231d;font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif}button,input{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.sidebar{background:var(--dark);color:#fff;padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin:0 8px 48px}.brand>b{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#e7b956;color:var(--dark);font-size:21px}.brand span{font-weight:900}.brand small{display:block;color:#a8c0b6;margin-top:4px;font-size:11px}.sidebar nav{display:grid;gap:8px}.sidebar nav button,.mobile-nav button{position:relative;border:0;border-radius:11px;padding:14px;text-align:left;background:transparent;color:#bdd0c7;font-weight:800;display:flex;align-items:center;gap:11px}.sidebar nav button span{font-size:20px}.sidebar nav button.active{background:#285442;color:#fff}.sidebar nav button b,.mobile-nav button b{margin-left:auto;min-width:21px;height:21px;border-radius:20px;display:grid;place-items:center;background:#e7b956;color:var(--dark);font-size:11px}.operator{margin-top:auto;padding:18px 6px;border:0;border-top:1px solid #315847;background:transparent;color:#fff;display:flex;align-items:center;gap:10px;text-align:left}.operator i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7b956;color:var(--dark);font-style:normal;font-weight:900}.operator span{display:grid;gap:3px}.operator small{color:#a8c0b6}.host{padding:12px 6px 0;color:#a9c7b9;font-size:11px}.workspace{padding:36px clamp(24px,5vw,76px) 80px;min-width:0}.workspace>header{max-width:1080px;margin:auto;display:flex;justify-content:space-between;align-items:center}.workspace>header small,.section-head small,.team-card>small,.guide>small{color:var(--green);font-weight:900;letter-spacing:.05em}.workspace>header h1{margin:7px 0 0;font-size:34px}.online{padding:10px 14px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--green);font-weight:800;font-size:12px}.card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(24,53,39,.055)}.main-grid,.camera-grid{max-width:1080px;margin:38px auto 0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.72fr);gap:22px;align-items:start}.order-card{padding:36px}.order-card>em{display:inline-block;padding:7px 11px;border-radius:7px;background:var(--pale);color:var(--green);font-style:normal;font-weight:900;font-size:12px}h2{margin:17px 0 6px}.order-card>p,.guide p,.shoot p,.empty p{color:var(--muted);line-height:1.6}.fields{display:grid;grid-template-columns:1fr 1.35fr;gap:14px}label{display:grid;gap:8px;margin-top:18px;font-size:13px;font-weight:900}input{min-width:0;border:1.5px solid #ccd9d1;border-radius:11px;padding:15px;outline:none;text-transform:uppercase}input:focus{border-color:var(--green);box-shadow:0 0 0 4px #e3f2e8}.person-line{display:flex;align-items:center;gap:11px;margin-top:20px;padding:13px;border-radius:11px;background:#f7faf8}.person-line>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d9eadf;color:var(--green);font-weight:900}.person-line>div{display:grid;gap:2px;flex:1}.person-line small{color:var(--muted)}.person-line button,.locked button,.section-head button,.search-box button,.order-row>button{border:1px solid #bfd5c8;border-radius:8px;padding:8px 11px;background:#fff;color:var(--green);font-weight:800}.primary,.finish{width:100%;margin-top:22px;padding:17px;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:900;font-size:16px}.help{display:block;margin-top:10px;text-align:center;color:var(--muted)}.guide{padding:27px}.guide>strong{display:block;font-size:34px;margin-top:10px}.guide ul{padding:0;margin:22px 0 0;list-style:none}.guide li{padding:12px 0;border-top:1px solid var(--line)}.locked{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.locked>div{display:grid;gap:5px}.locked small{color:var(--muted)}.collab{display:flex;align-items:center;gap:12px;margin:18px 25px 0;padding:12px 14px;border:1px solid #cce1d5;border-radius:12px;background:#f1f8f4}.avatars{display:flex;padding-left:8px}.avatars span{width:32px;height:32px;margin-left:-8px;border:2px solid #f1f8f4;border-radius:50%;display:grid;place-items:center;background:#2c7253;color:#fff;font-size:11px;font-weight:900}.avatars span:nth-child(even){background:#c88a35}.collab>div:nth-child(2){display:grid;gap:2px;flex:1}.collab small{color:var(--muted);font-size:11px}.collab>b{color:var(--green);font-size:11px}.shoot{margin:20px 25px;border:2px dashed #c9d8cf;border-radius:17px;padding:30px;text-align:center;background:#f8fbf9}.shoot>span{width:58px;height:58px;margin:auto;display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--green);font-size:34px}.camera-button{display:inline-block;margin-top:7px;padding:14px 22px;border-radius:11px;background:var(--green);color:#fff;cursor:pointer}.camera-button input{display:none}.empty-inline{margin:0 25px 10px;padding:18px;border-radius:11px;background:#f7faf8;text-align:center;color:var(--muted)}.gallery{margin:8px 25px 12px;padding-top:17px;border-top:1px solid var(--line)}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head h2{margin:5px 0}.section-head>span,.result-title small{color:var(--muted);font-size:11px}.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:13px}.photos a{position:relative;display:block;color:#fff;text-decoration:none}.photos img{display:block;width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:10px}.photos a>b{position:absolute;left:5px;bottom:5px;padding:3px 6px;border-radius:7px;background:rgba(23,60,46,.85);font-size:9px}.photos a>small{position:absolute;left:5px;right:5px;top:5px;padding:4px;border-radius:6px;background:rgba(0,0,0,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finish{width:calc(100% - 50px);margin:16px 25px 25px}.team-card{padding:26px}.metric{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.warn{color:var(--amber)}.people{display:grid;gap:9px;margin-top:15px}.people>div{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}.people i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#dcebe2;color:var(--green);font-size:11px;font-style:normal;font-weight:900}.people small{color:var(--muted);font-size:10px}.team-card>p{padding:13px;border-radius:10px;background:var(--cream);color:#665e4b;font-size:12px;line-height:1.5}.queue-card,.search-card{max-width:1080px;margin:38px auto 0;padding:28px}.queue-list{margin-top:18px}.queue-list article{display:grid;grid-template-columns:60px 1fr auto;gap:13px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.queue-list img{width:60px;height:60px;object-fit:cover;border-radius:9px}.queue-list article>div{display:grid;gap:4px}.queue-list article small{color:var(--muted)}.queue-list article p{margin:0}.queue-list article>b{color:var(--amber);font-size:11px}.empty{padding:50px;text-align:center}.empty>span{width:55px;height:55px;margin:auto;display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--green);font-size:25px}.search-box{display:flex;gap:10px;position:relative}.search-box>span{position:absolute;left:15px;top:9px;font-size:25px;color:var(--green)}.search-box input{flex:1;padding-left:50px;text-transform:none}.search-box button{padding:0 20px}.result-title{display:flex;justify-content:space-between;margin:27px 0 5px}.order-row{display:grid;grid-template-columns:68px 1fr auto;gap:15px;align-items:center;padding:19px 0;border-top:1px solid var(--line)}.stack{width:58px;height:52px;position:relative}.stack i{position:absolute;width:45px;height:45px;border-radius:9px;background:#9cb8a8;border:2px solid #fff;transform:rotate(6deg);left:8px}.stack i:nth-child(2){transform:none;left:0;top:5px;background:#6d947e}.stack b{position:absolute;right:0;bottom:0;padding:3px 6px;border-radius:8px;background:var(--dark);color:#fff;font-size:9px}.order-row>div:nth-child(2)>span{padding:3px 6px;border-radius:6px;background:var(--pale);color:var(--green);font-size:10px;font-weight:900}.order-row h3{margin:7px 0 4px}.order-row p{margin:0;color:var(--muted);font-size:12px}.mobile-nav{display:none}#toast{position:fixed;z-index:20;left:50%;bottom:30px;transform:translate(-50%,20px);padding:12px 18px;border-radius:10px;background:#17231d;color:#fff;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding:22px 15px 90px}.workspace>header{align-items:flex-start}.workspace>header h1{font-size:27px}.online{font-size:0;padding:10px}.main-grid,.camera-grid{grid-template-columns:1fr;margin-top:25px}.order-card{padding:22px}.fields{grid-template-columns:1fr}.guide{display:none}.team-card{order:-1;padding:18px}.team-card .people,.team-card>p{display:none}.collab{margin:14px 16px 0}.collab>b{display:none}.shoot{margin:16px;padding:24px 12px}.gallery{margin:8px 16px}.photos{grid-template-columns:repeat(3,1fr)}.finish{width:calc(100% - 32px);margin:16px}.queue-card,.search-card{margin-top:25px;padding:18px}.order-row{grid-template-columns:52px 1fr auto;gap:8px}.stack{transform:scale(.8);transform-origin:left}.order-row h3{font-size:13px}.order-row p{line-height:1.5}.order-row>button{padding:7px}.mobile-nav{position:fixed;z-index:10;left:0;right:0;bottom:0;height:72px;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);padding:6px 10px env(safe-area-inset-bottom)}.mobile-nav button{justify-content:center;display:grid;gap:1px;text-align:center;padding:4px;color:#748179}.mobile-nav button.active{background:var(--pale);color:var(--green)}.mobile-nav button b{position:absolute;right:22%;top:1px}.search-box button{padding:0 12px}}

select{min-width:0;border:1.5px solid #ccd9d1;border-radius:11px;padding:14px;background:#fff;color:#17231d;outline:none}.signed-user{margin-top:auto;padding:18px 6px 10px;border-top:1px solid #315847;display:flex;align-items:center;gap:10px}.signed-user i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7b956;color:var(--dark);font-style:normal;font-weight:900}.signed-user span{display:grid;gap:3px;min-width:0}.signed-user strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signed-user small{color:#a8c0b6;font-size:10px}.side-action{border:0;background:transparent;color:#bcd0c7;text-align:left;padding:7px 6px;font-size:12px}.warehouse-lock{display:flex;align-items:center;gap:12px;margin-top:20px;padding:13px 15px;border-radius:11px;background:var(--pale)}.warehouse-lock small{color:var(--muted)}.warehouse-lock strong{color:var(--green)}.warehouse-lock span{margin-left:auto;color:var(--muted);font-size:11px}.person-line>b{padding:5px 8px;border-radius:7px;background:#e6f2ea;color:var(--green);font-size:10px}.readonly-banner{margin:20px 25px;padding:20px;border-radius:13px;background:#eef4ff;border:1px solid #ceddf5;display:grid;gap:5px;color:#28547e}.readonly-banner span{font-size:12px}.fixed-filter{display:flex;align-items:center;padding:0 15px;border:1px solid var(--line);border-radius:11px;color:var(--green);font-weight:800;white-space:nowrap}.search-box select{max-width:160px}.admin-grid{max-width:1080px;margin:38px auto 0;display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.4fr);gap:22px;align-items:start}.account-create,.account-list{padding:28px}.account-create>small{color:var(--green);font-weight:900}.account-create form{display:grid}.account-list>div:last-child{margin-top:15px}.account-list article{display:grid;grid-template-columns:40px 1fr auto auto;gap:11px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.account-list article>i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pale);color:var(--green);font-style:normal;font-weight:900}.account-list article>div{display:grid;gap:3px}.account-list article small{color:var(--muted)}.account-list article>button{border:1px solid #bfd5c8;border-radius:8px;padding:7px 9px;background:#fff;color:var(--green)}.account-ok,.account-off{padding:4px 7px;border-radius:6px;font-size:10px;font-weight:900}.account-ok{background:var(--pale);color:var(--green)}.account-off{background:#f6e8e8;color:#9e3b3b}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);background:var(--dark);padding:clamp(28px,6vw,90px);gap:8vw;align-items:center}.login-brand{color:#fff;display:flex;gap:24px;align-items:flex-start}.login-brand>b,.loading-page>b{width:68px;height:68px;display:grid;place-items:center;border-radius:19px;background:#e7b956;color:var(--dark);font-size:30px}.login-brand small{color:#9fc2b2;font-weight:900;letter-spacing:.1em}.login-brand h1{font-size:clamp(40px,6vw,78px);margin:12px 0}.login-brand p{max-width:560px;color:#c6d8d0;font-size:18px;line-height:1.7}.login-card{background:#fff;padding:38px;border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.22)}.login-title small{color:var(--green);font-weight:900}.login-title h2{font-size:32px}.login-title p{color:var(--muted)}.login-card form{display:grid}.initial-accounts{margin-top:24px;padding:15px;border-radius:11px;background:#f5f7f5;display:grid;gap:5px;color:var(--muted);font-size:11px}.initial-accounts b{color:var(--dark);margin-bottom:3px}.loading-page{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:18px;background:var(--dark);color:#fff;font-weight:900}
@media(max-width:760px){.login-page{display:block;padding:28px 18px;background:#eef1ed}.login-brand{color:var(--dark);margin:18px 6px 30px;gap:14px}.login-brand>b{width:50px;height:50px;border-radius:14px;font-size:23px}.login-brand small{color:var(--green)}.login-brand h1{font-size:34px;margin:6px 0}.login-brand p{display:none}.login-card{padding:24px;border-radius:18px}.login-title h2{font-size:27px}.warehouse-lock{align-items:flex-start;flex-wrap:wrap}.warehouse-lock span{width:100%;margin-left:0}.person-line>b{display:none}.readonly-banner{margin:16px}.search-box{display:grid;grid-template-columns:1fr auto}.search-box>span{top:9px}.search-box input{grid-column:1 / 3}.search-box select,.fixed-filter{max-width:none;min-height:46px}.admin-grid{grid-template-columns:1fr;margin-top:25px}.account-create,.account-list{padding:19px}.account-list article{grid-template-columns:36px 1fr auto}.account-list article>button{grid-column:2 / 4;justify-self:start}.mobile-nav{display:flex;height:74px;overflow:visible}.mobile-nav button{display:grid;flex:1;min-width:0;font-size:10px}.mobile-nav button b{right:12%;top:0}.photos{grid-template-columns:repeat(2,1fr)}}

.shoot-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.album-button{display:inline-block;margin-top:7px;padding:13px 21px;border:1px solid var(--green);border-radius:11px;background:#fff;color:var(--green);cursor:pointer}.album-button input{display:none}.photo-editor{position:fixed;z-index:100;inset:0;padding:20px;display:grid;place-items:center;background:rgba(9,19,14,.78);backdrop-filter:blur(5px)}.photo-editor>section{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:20px;border-radius:20px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.35)}.photo-editor header{display:flex;align-items:flex-start;justify-content:space-between}.photo-editor header small{color:var(--green);font-weight:900}.photo-editor header h2{margin:5px 0 13px}.photo-editor header button{width:38px;height:38px;border:0;border-radius:50%;background:#eef3ef;color:var(--dark);font-size:25px}.photo-editor img{display:block;width:100%;max-height:48vh;object-fit:contain;border-radius:13px;background:#111}.photo-editor label{margin-top:15px}.photo-editor>section>p{margin:8px 0 0;color:var(--muted);font-size:11px}.photo-editor>section>div:last-child{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:18px}.photo-editor>section>div:last-child button{padding:14px;border:1px solid #bfd5c8;border-radius:11px;background:#fff;color:var(--green);font-weight:900}.photo-editor .confirm-photo{border-color:var(--green)!important;background:var(--green)!important;color:#fff!important}.photo-editor .confirm-photo:disabled{opacity:.65}
@media(max-width:760px){.shoot-actions{display:grid;grid-template-columns:1fr 1fr}.camera-button,.album-button{display:block;padding:14px 8px;text-align:center}.photo-editor{padding:0;place-items:end center}.photo-editor>section{width:100%;max-height:94vh;border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.photo-editor img{max-height:43vh}.photo-editor input{font-size:16px}}

.search-box>.search-icon{position:absolute;left:15px;top:9px;font-size:25px;color:var(--green)}
@media(max-width:760px){.search-box button{grid-column:1 / 3;min-height:46px}.search-box>.search-icon{top:9px}.result-title{align-items:center;gap:12px}.result-title small{text-align:right}}

/* v3.0 mobile-safe inputs, drawing editor, bindings and notifications */
.input-with-button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.input-with-button button{border:1px solid #bfd5c8;border-radius:11px;padding:0 15px;background:#fff;color:var(--green);font-weight:900}.binding-status{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#f7faf8}.binding-status span{color:var(--muted);font-size:12px;text-align:right}.binding-status.ok{border-color:#b9dbc8;background:#edf8f1;color:var(--green)}.binding-status.warn{border-color:#ecd7a5;background:#fff9e9;color:#8b6514}.upload-error{color:#a0443a!important}
.photo-editor>section{width:min(680px,100%)}.photo-editor canvas{display:block;width:100%;max-height:46vh;object-fit:contain;border-radius:13px;background:#111;touch-action:none;user-select:none}.draw-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.draw-tools button,.draw-options button,.draw-history button{min-height:40px;border:1px solid #bfd5c8;border-radius:9px;background:#fff;color:var(--green);font-weight:900}.draw-tools button.active,.draw-options button.active{outline:3px solid #9ed0b4;background:var(--pale)}.draw-options{display:flex;align-items:center;gap:8px;margin-top:9px;flex-wrap:wrap}.draw-options>span{color:var(--muted);font-size:11px;font-weight:900}.draw-options button[data-draw-color]{width:34px;min-height:34px;border:2px solid #d3d9d5;border-radius:50%;font-size:0}.draw-options button[data-draw-color="#ef3340"]{background:#ef3340}.draw-options button[data-draw-color="#ffd400"]{background:#ffd400}.draw-options button[data-draw-color="#16a05d"]{background:#16a05d}.draw-options button[data-draw-color="#ffffff"]{background:#fff}.draw-options button[data-draw-width]{padding:5px 11px;min-height:34px}.draw-text-line{margin-top:10px}.draw-text-line input{text-transform:none}.draw-history{display:flex;gap:8px;margin-top:9px}.draw-history button{padding:7px 12px;min-height:36px}.photo-editor .editor-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:14px}.photo-editor .editor-actions button{padding:14px;border:1px solid #bfd5c8;border-radius:11px;background:#fff;color:var(--green);font-weight:900}
.binding-grid{max-width:1080px;margin:38px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.binding-form{padding:28px}.binding-form>small{color:var(--green);font-weight:900}.binding-form form{display:grid}.member-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.member-check{display:flex;align-items:center;gap:6px;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#f8faf8}.member-check input{min-width:auto;margin:0}.compact-list{margin-top:24px}.compact-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.compact-list article>div{display:grid;gap:4px}.compact-list small{color:var(--muted)}.compact-list article>b{color:var(--green);font-size:11px;white-space:nowrap}.notice-card{max-width:1080px;margin:38px auto 0;padding:28px}.notice-list{margin-top:15px}.notice-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:18px;border-top:1px solid var(--line)}.notice-row.unread{background:#f0f8f3}.notice-row>div>span{padding:4px 7px;border-radius:6px;background:var(--pale);color:var(--green);font-size:10px;font-weight:900}.notice-row h3{margin:8px 0}.notice-row p{margin:0 0 8px;color:var(--muted);line-height:1.6}.notice-row small{color:var(--muted)}.notice-row button{border:1px solid #bfd5c8;border-radius:9px;padding:10px 13px;background:#fff;color:var(--green);font-weight:900}
@media(max-width:760px){.input-with-button{grid-template-columns:minmax(0,1fr) 66px}.input-with-button button{padding:0 8px}.binding-status{align-items:flex-start;flex-direction:column;gap:5px}.binding-status span{text-align:left}.photo-editor>section{max-height:98vh;padding-top:12px}.photo-editor header h2{font-size:20px;margin:3px 0 8px}.photo-editor canvas{max-height:42vh}.draw-tools button{min-height:38px;font-size:12px}.draw-options{gap:6px}.draw-options button[data-draw-color]{width:30px;min-height:30px}.draw-text-line input{padding:11px}.photo-editor>section>p{display:none}.photo-editor .editor-actions{position:sticky;z-index:2;bottom:0;margin-left:-4px;margin-right:-4px;padding:9px 4px 2px;background:#fff;box-shadow:0 -8px 18px rgba(255,255,255,.92)}.binding-grid{grid-template-columns:1fr;margin-top:25px}.binding-form{padding:19px}.notice-card{margin-top:25px;padding:14px}.notice-row{grid-template-columns:1fr;padding:15px 5px}.notice-row button{justify-self:start}.workspace>header h1{overflow-wrap:anywhere}.order-row{grid-template-columns:48px minmax(0,1fr)}.order-row>button{grid-column:2;justify-self:start}.order-row p{overflow-wrap:anywhere}}
.camera-return-tip{display:block;margin-top:13px;color:var(--green);font-weight:900}.shoot .camera-return-tip{font-size:12px}@media(max-width:760px){#toast{bottom:86px;max-width:calc(100vw - 30px);text-align:center}.camera-return-tip{line-height:1.6}}

/* v3.3 warehouse one-page workflow */
.single-workbench{max-width:820px;margin:34px auto 0;overflow:hidden}.single-workbench-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:28px 32px;background:linear-gradient(135deg,#f5fbf7,#fff)}.single-workbench-head em{color:var(--green);font-size:12px;font-style:normal;font-weight:900;letter-spacing:.08em}.single-workbench-head h2{font-size:32px;margin:8px 0}.single-workbench-head p{margin:0;color:var(--muted);line-height:1.6}.single-workbench-head button{border:1px solid #bfd5c8;border-radius:10px;padding:10px 14px;background:#fff;color:var(--green);font-weight:900;white-space:nowrap}.single-section{padding:27px 32px;border-top:1px solid var(--line)}.form-section>label{font-size:14px}.form-section>label>i,.completion-section legend i{color:#d43b31;font-style:normal}.form-section input[readonly]{background:#f5f6f5;color:#59635e}.active-order-tip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:13px 15px;border-radius:11px;background:#eaf6ee;color:var(--green)}.active-order-tip span{font-size:12px;color:var(--muted);text-align:right}.single-section-title,.single-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.single-section-title>div{display:grid;gap:5px}.single-section-title label{margin:0;font-size:15px}.single-section-title small,.single-gallery-head span{color:var(--muted);font-size:12px}.single-section-title>b{padding:6px 9px;border-radius:8px;background:var(--pale);color:var(--green);font-size:11px;white-space:nowrap}.single-shoot{margin:18px 0;padding:23px}.single-shoot h2{font-size:20px}.single-gallery-head{margin:22px 0 10px}.single-photos{grid-template-columns:repeat(4,1fr);margin-top:0}.pending-photo{pointer-events:none}.pending-photo img{opacity:.8;outline:3px solid #e4a93e}.single-empty{margin:0}.single-placeholder{display:grid;place-items:center;gap:8px;margin-top:18px;padding:38px 18px;border:2px dashed #ced8d2;border-radius:15px;background:#fafcfb;text-align:center;color:var(--muted)}.single-placeholder>span{font-size:36px;color:#9fb4a8}.single-placeholder strong{color:#435049}.disabled-section{background:#fafbfa}.completion-section fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.completion-section legend{margin-bottom:8px;font-size:14px;font-weight:900}.completion-section fieldset label{display:flex;align-items:center;gap:10px;margin:0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:700}.completion-section input[type="radio"]{min-width:auto;margin:0;padding:0;accent-color:var(--green)}.completion-section>.finish{width:100%;margin:18px 0 7px}.completion-section>.finish:disabled,.input-with-button button:disabled{opacity:.45;cursor:not-allowed}.completion-section>small{display:block;color:var(--muted);text-align:center;line-height:1.6}
#inline-photo-editor,#order-sheet-photo-editor{scroll-margin-top:12px}.photo-editor{position:static;inset:auto;display:block;padding:0;margin-top:18px;background:transparent;backdrop-filter:none}.photo-editor>section{width:100%;max-height:none;overflow:visible;padding:18px;border:1px solid #c7d9cf;border-radius:16px;background:#f7fbf8;box-shadow:none}.photo-editor canvas{max-height:56vh}.photo-editor header button{display:none}.photo-editor .editor-actions{position:static;grid-template-columns:.8fr 1.4fr}.photo-editor>section>p{display:block}
@media(max-width:760px){.workspace{padding:12px 10px 90px}.workspace>header{padding:2px 4px 0}.workspace>header small{font-size:10px}.workspace>header h1{font-size:22px;margin-top:4px}.single-workbench{margin-top:14px;border-radius:16px}.single-workbench-head{padding:19px 17px}.single-workbench-head h2{font-size:25px;margin:5px 0}.single-workbench-head p{font-size:11px}.single-workbench-head button{padding:8px 10px}.single-section{padding:21px 17px}.form-section>label{margin-top:15px}.form-section input{font-size:16px;padding:13px}.active-order-tip{align-items:flex-start;flex-direction:column}.active-order-tip span{text-align:left}.single-section-title{align-items:flex-start}.single-shoot{margin:15px 0;padding:20px 11px}.single-shoot>span{width:48px;height:48px;font-size:28px}.single-shoot h2{font-size:18px;line-height:1.45}.single-shoot p{font-size:12px}.single-photos{grid-template-columns:repeat(2,1fr)}.photo-editor{padding:0;place-items:initial}.photo-editor>section{width:100%;max-height:none;padding:12px;border-radius:13px}.photo-editor header h2{font-size:18px}.photo-editor canvas{max-height:none}.photo-editor .draw-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-editor .editor-actions{position:static;margin:12px 0 0;padding:0;background:transparent;box-shadow:none}.photo-editor>section>p{display:block;line-height:1.5}.completion-section>.finish{width:100%;margin:16px 0 7px}.mobile-nav{height:70px}}

/* v3.4 account and customer CSV import */
.bulk-import-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:25px 28px;border-color:#b9d7c6;background:linear-gradient(135deg,#f0f8f3,#fff)}.bulk-import-card small{color:var(--green);font-weight:900}.bulk-import-card h2{margin:6px 0}.bulk-import-card p{max-width:670px;margin:0;color:var(--muted);font-size:12px;line-height:1.65}.import-actions{display:flex;gap:10px;align-items:center}.import-actions button,.import-actions label{display:block;margin:0;padding:12px 16px;border:1px solid var(--green);border-radius:10px;background:#fff;color:var(--green);font-size:13px;font-weight:900;white-space:nowrap;cursor:pointer}.import-actions label{background:var(--green);color:#fff}.import-actions input{display:none}.import-guide{grid-column:1/-1;padding:10px 12px;border-radius:9px;background:#fff;color:#5e6d65;font-size:11px}.import-report{position:fixed;z-index:130;inset:0;display:grid;place-items:center;padding:18px;background:rgba(10,27,19,.72);backdrop-filter:blur(4px)}.import-report>section{width:min(560px,100%);max-height:88vh;overflow:auto;padding:22px;border-radius:18px;background:#fff}.import-report header{display:flex;align-items:flex-start;justify-content:space-between}.import-report header small{color:var(--green);font-weight:900}.import-report header h2{margin:5px 0 15px}.import-report header button{width:36px;height:36px;border:0;border-radius:50%;background:#eef3ef;font-size:22px}.import-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.import-metrics b{display:grid;gap:4px;padding:13px;border-radius:11px;background:#eff7f2;color:var(--muted);font-size:11px}.import-metrics span{color:var(--green);font-size:24px}.import-metrics .has-error{background:#fff0ee}.import-metrics .has-error span{color:#b64035}.import-errors{max-height:240px;overflow:auto;margin-top:14px;padding:9px 13px;border-radius:10px;background:#fff5f3}.import-errors p{margin:7px 0;color:#9e3b32;font-size:12px}.import-success{padding:15px;border-radius:10px;background:#eff7f2;color:var(--green)}.import-report .primary{margin-top:16px}
@media(max-width:760px){.bulk-import-card{grid-template-columns:1fr;padding:19px;gap:14px}.import-actions{display:grid;grid-template-columns:1fr 1fr}.import-actions button,.import-actions label{text-align:center;padding:12px 8px;white-space:normal}.import-guide{grid-column:1}.import-report{place-items:end center;padding:0}.import-report>section{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}

/* v3.5+ distinguish actual pickers from online viewers */
.single-operator-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:10px 0 14px;padding:11px 13px;border-radius:10px;background:#eef7f1}.single-operator-line b{color:var(--green);font-size:12px;white-space:nowrap}.single-operator-line span{color:#526159;font-size:12px;text-align:right;line-height:1.5}.viewer-presence small{font-weight:700}.fulfillment-team{margin:18px 25px;padding:18px;border:1px solid #b9dbc8;border-radius:14px;background:#f2f9f5}.fulfillment-team .section-head h2{font-size:20px;margin:4px 0}.fulfillment-team .section-head>span{padding:5px 8px;border-radius:7px;background:#dcefe3;color:var(--green);font-weight:900}.operator-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.operator-cards article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px;border-radius:11px;background:#fff}.operator-cards article>i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-style:normal;font-weight:900}.operator-cards article>div{display:grid;gap:3px;min-width:0}.operator-cards article small{color:var(--muted);font-size:10px;line-height:1.4}.operator-cards article>b{color:var(--green);font-size:11px;white-space:nowrap}.no-operator{display:grid;gap:5px;margin-top:12px;padding:14px;border-radius:10px;background:#fff;color:var(--muted)}.no-operator b{color:#4c5c53}.no-operator span{font-size:12px}.completed-by{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:11px;border-top:1px solid #cfe1d6}.completed-by span{color:var(--muted);font-size:12px}.completed-by b{color:var(--green)}
@media(max-width:760px){.single-operator-line{display:grid}.single-operator-line span{text-align:left}.fulfillment-team{margin:14px 16px;padding:14px}.operator-cards{grid-template-columns:1fr}.operator-cards article{grid-template-columns:34px minmax(0,1fr) auto}.team-card .people{display:none}}
.quick-text-line{margin:8px 0 6px!important}.quick-text-line input{border:2px solid var(--green);background:#fff;font-size:16px;text-transform:none}.quick-text-help{display:block;margin-bottom:11px;color:var(--green);font-size:11px;font-weight:800}.batch-upload-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;align-items:center;margin:18px 0;padding:16px;border:1px solid #bad7c7;border-radius:14px;background:#eef8f2}.batch-upload-panel>div{display:grid;gap:4px}.batch-upload-panel>div>b{color:var(--dark)}.batch-upload-panel>div>span,.batch-upload-panel>small{color:var(--muted);font-size:11px;line-height:1.5}.batch-upload-panel>button{grid-row:1;padding:13px 18px;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:900;white-space:nowrap}.batch-upload-panel>button:disabled{opacity:.45}.batch-upload-panel>small{grid-column:1 / -1}.staged-photo img{outline-color:#e4a93e}.upload-ready-photo img{outline-color:#63a883}.queue-card .section-head button:disabled{opacity:.45}
@media(max-width:760px){.batch-upload-panel{grid-template-columns:1fr}.batch-upload-panel>button{grid-row:auto;width:100%;min-height:52px;font-size:16px}.batch-upload-panel>small{grid-column:auto}.quick-text-line input{font-size:18px;padding:13px}.quick-text-help{font-size:12px}.photo-editor .confirm-photo{font-size:15px}}
.order-sheet-section{background:#fffaf0;border-top:1px solid #e5b64f}.order-sheet-section .single-section-title label i{display:inline-block;margin-left:5px;padding:3px 7px;border-radius:6px;background:#c23b31;color:#fff;font-size:10px;font-style:normal}.sheet-required{background:#fff0e5!important;color:#b64b28!important}.sheet-done{background:#e2f3e8!important;color:var(--green)!important}.order-sheet-guide{display:grid;gap:5px;margin:17px 0 12px;padding:13px 15px;border:1px solid #ecd498;border-radius:11px;background:#fff}.order-sheet-guide b{color:#7e5613}.order-sheet-guide span{color:#6d6656;font-size:12px;line-height:1.55}.order-sheet-actions{justify-content:flex-start;margin:0 0 13px}.order-sheet-camera{background:#9a6516}.order-sheet-upload{margin-top:10px;background:#fff8e7;border-color:#e1c77e}.order-sheet-photos a img{outline:3px solid #dca83d}.order-sheet-empty{background:#fff0e7;color:#a34b30}.completion-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.completion-checks b{padding:10px;border-radius:9px;text-align:center;font-size:11px}.completion-checks .done{background:#e6f4eb;color:var(--green)}.completion-checks .missing{background:#fff0e7;color:#b0472b}.order-sheet-gallery{margin-top:18px;padding:17px;border:1px solid #e3c779;border-radius:14px;background:#fffaf0}.order-sheet-gallery .sheet-ok{color:var(--green);font-weight:900}.order-sheet-gallery .sheet-missing{color:#b0472b;font-weight:900}.no-order-sheet{margin-top:12px;padding:15px;border-radius:10px;background:#fff0e7;color:#a34b30;font-size:12px;font-weight:800}.order-sheet-editor>section{border-color:#dfbd65;background:#fffaf0}
@media(max-width:760px){.completion-checks{grid-template-columns:1fr;gap:6px}.completion-checks b{text-align:left}.order-sheet-actions{display:grid;grid-template-columns:1.25fr .75fr}.order-sheet-section{padding-top:18px}.order-sheet-guide{margin-top:13px}.order-sheet-gallery{margin:14px 0;padding:14px}}

/* v3.10 Android and iPhone shared mobile entry */
.mobile-entry-tip{display:grid;gap:6px;margin-top:18px;padding:14px 15px;border:1px solid #b9d8c6;border-radius:12px;background:#eef8f2;color:#526159;font-size:12px;line-height:1.5}.mobile-entry-tip b{color:var(--green);font-size:13px}.camera-button,.album-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@supports(padding:max(0px)){body{padding-top:env(safe-area-inset-top)}.mobile-nav{padding-bottom:max(6px,env(safe-area-inset-bottom))}}
@media(max-width:760px){html,body{min-height:100%;overscroll-behavior-y:none}.login-page{min-height:100svh;padding-bottom:calc(28px + env(safe-area-inset-bottom))}.mobile-entry-tip{font-size:13px}.camera-button,.album-button,.batch-upload-panel>button{min-height:50px}.photo-editor canvas{-webkit-user-select:none;-webkit-touch-callout:none}}

/* v3.11 traceable photo replacement */
.history-photos .history-photo{min-width:0}.history-photos .history-photo>a{position:relative;display:block;color:#fff;text-decoration:none}.history-photos .history-photo>a img{display:block;width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:10px}.history-photos .history-photo>a>b{position:absolute;left:5px;bottom:5px;padding:3px 6px;border-radius:7px;background:rgba(23,60,46,.85);font-size:9px}.history-photos .history-photo>a>small{position:absolute;left:5px;right:5px;top:5px;padding:4px;border-radius:6px;background:rgba(0,0,0,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-photo>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.history-photo>div label{display:block;margin:0;padding:8px 4px;border:1px solid #b9d5c5;border-radius:8px;background:#fff;color:var(--green);text-align:center;font-size:10px;cursor:pointer}.history-photo>div input{display:none}.replace-banner{background:#eef8f2;border-color:#b7d9c5;color:#245c43}.revision-log{margin:18px 25px 24px;padding:18px;border:1px solid #d2ded7;border-radius:14px;background:#f8faf8}.revision-log>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.revision-log>article>div{display:grid;gap:4px}.revision-log>article span,.revision-log>article small{color:var(--muted);font-size:11px}.revision-log>article>a{padding:7px 9px;border:1px solid #bfd5c8;border-radius:8px;color:var(--green);text-decoration:none;font-size:11px;font-weight:900;white-space:nowrap}
@media(max-width:760px){.history-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.history-photo>div{grid-template-columns:1fr}.history-photo>div label{min-height:42px;display:grid;place-items:center;font-size:12px}.revision-log{margin:14px 16px;padding:14px}.revision-log>article{grid-template-columns:1fr 1fr}.revision-log>article>div,.revision-log>article>small{grid-column:1/-1}.revision-log>article>a{text-align:center}}

/* v3.12 two strictly separated upload stages */
.stage-banner{display:grid;gap:7px;border-top:0;border-left:1px solid var(--green);background:#edf8f1}.stage-banner b{color:var(--green);font-size:19px}.stage-banner span{color:#526159;font-size:12px;line-height:1.65}.summary-stage-banner{border-left-color:#c68820;background:#fff7df}.summary-stage-banner b{color:#8a5b0f}.summary-stage-banner span{color:#6f624a}.summary-stage-banner+.order-sheet-section{border-top-width:1px}.detail-stage-banner+.photo-section{border-top-width:1px}
@media(max-width:760px){.stage-banner{padding:17px 16px}.stage-banner b{font-size:17px}.stage-banner span{font-size:12px}.summary-stage-banner+.order-sheet-section,.detail-stage-banner+.photo-section{padding-top:18px}}

/* v3.13 sales-only access and image-only sharing */
.gallery-actions{display:flex;align-items:flex-end;flex-direction:column;gap:7px}.gallery-actions>button{padding:10px 13px;border:0;border-radius:10px;background:#1f8a54;color:#fff;font-weight:900;cursor:pointer}.gallery-actions>button:disabled{opacity:.55;cursor:wait}.gallery-actions>span{font-size:11px}.share-privacy{border-color:#9ccfb2;background:#ebf8f0}.share-privacy b{color:#187848}.share-privacy span{line-height:1.65}
@media(max-width:760px){.gallery>.section-head{align-items:flex-start}.gallery-actions{align-items:stretch}.gallery-actions>button{min-height:45px;font-size:13px}.gallery-actions>span{text-align:center}.share-privacy{align-items:flex-start;flex-direction:column}}

/* v3.14 simplified sales order view */
.sales-detail-grid{display:block;max-width:900px}.sales-detail-grid .camera-card{overflow:hidden}.sales-order-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:var(--line);border-bottom:1px solid var(--line)}.sales-order-summary>div{display:grid;gap:7px;padding:19px 24px;background:#f7faf8}.sales-order-summary small{color:var(--muted);font-size:11px;font-weight:800}.sales-order-summary b{color:var(--dark);font-size:17px}.sales-detail-grid .gallery{margin-top:14px;padding-top:20px}.sales-footnote{display:grid;gap:7px;margin:24px 25px 25px;padding:16px 18px;border-radius:12px;background:#f4f6f4;color:var(--muted);font-size:11px;line-height:1.6}.sales-footnote b{color:#526159;font-size:12px}.sales-detail-grid .revision-log{margin-top:22px}
@media(max-width:760px){.sales-detail-grid{margin-top:18px}.sales-detail-grid .locked{align-items:flex-start;padding:17px 16px}.sales-detail-grid .locked strong{font-size:16px;overflow-wrap:anywhere}.sales-order-summary{grid-template-columns:1fr}.sales-order-summary>div{padding:15px 16px}.sales-order-summary b{font-size:15px}.sales-footnote{margin:20px 16px;padding:14px}.sales-detail-grid .gallery{margin-top:10px}}

/* v3.15 sales picking-date filter */
.search-filters{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px;align-items:end}.search-date-filter{display:grid;gap:6px;margin:0}.search-date-filter>span{color:var(--green);font-size:11px;font-weight:900}.search-date-filter input{height:48px;padding:10px 13px;background:#fff;color:var(--dark);text-transform:none}.search-filters .search-box{height:48px}.search-filters .search-box>span{top:7px}.search-filters .search-box button{min-width:82px}
@media(max-width:760px){.search-filters{grid-template-columns:1fr}.search-date-filter{grid-row:1}.search-filters .search-box{grid-row:2;height:auto}.search-date-filter input{height:48px}.search-filters .search-box button{min-height:46px}}

/* v3.16 administrator operations dashboard */
.dashboard-toolbar{max-width:1080px;margin:30px auto 0;display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:12px;align-items:end}.dashboard-toolbar>div{display:grid;gap:5px}.dashboard-toolbar>div>b{font-size:18px;color:var(--dark)}.dashboard-toolbar>div>span{font-size:11px;color:var(--muted)}.dashboard-toolbar label{margin:0;gap:5px;color:var(--green);font-size:11px}.dashboard-toolbar input{height:44px;padding:8px 11px;background:#fff;text-transform:none}.dashboard-toolbar>button{height:44px;padding:0 18px;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:900}.dashboard-kpis{max-width:1080px;margin:18px auto 0;display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.dashboard-kpis article{position:relative;overflow:hidden;padding:23px 25px}.dashboard-kpis article:after{content:"";position:absolute;right:-25px;bottom:-46px;width:135px;height:135px;border-radius:50%;background:#edf6f0}.dashboard-kpis .primary-kpi{background:linear-gradient(135deg,#1b6749,#23815a);color:#fff;border-color:#1b6749}.dashboard-kpis .primary-kpi:after{background:rgba(255,255,255,.1)}.dashboard-kpis small{display:block;position:relative;z-index:1;color:var(--muted);font-weight:900}.dashboard-kpis .primary-kpi small{color:#cce6d8}.dashboard-kpis strong{position:relative;z-index:1;display:inline-block;margin:8px 7px 0 0;font-size:44px;line-height:1}.dashboard-kpis span{position:relative;z-index:1;font-weight:900}.daily-chart{max-width:1080px;margin:16px auto 0;padding:24px 25px}.daily-chart>header,.rank-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.daily-chart header small,.rank-card header small{color:var(--green);font-size:11px;font-weight:900}.daily-chart header h2,.rank-card header h2{margin:5px 0 0;font-size:20px}.daily-chart header>b,.rank-card header>b{padding:6px 9px;border-radius:8px;background:var(--pale);color:var(--green);font-size:11px}.daily-chart-scroll{overflow-x:auto;margin-top:20px;padding-bottom:7px}.daily-bars{min-width:790px;height:210px;display:grid;grid-template-columns:repeat(31,minmax(18px,1fr));gap:4px;align-items:end;padding:12px 5px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,#fff 0,#fff 49px,#edf2ef 50px)}.day-bar{height:100%;display:grid;grid-template-rows:18px 1fr 21px;align-items:end;text-align:center}.day-bar>b{color:var(--green);font-size:9px}.day-bar>i{height:100%;display:flex;align-items:flex-end;justify-content:center}.day-bar u{display:block;width:70%;min-height:2px;border-radius:5px 5px 0 0;background:linear-gradient(#46a875,#1f7652);text-decoration:none}.day-bar>span{padding-top:5px;color:var(--muted);font-size:9px}.daily-chart footer{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:10px}.dashboard-ranks{max-width:1080px;margin:16px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.rank-card{padding:21px}.rank-list{display:grid;margin-top:13px}.rank-list>article{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid var(--line)}.rank-list>article>b{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:var(--pale);color:var(--green);font-size:10px}.rank-list article>div{min-width:0}.rank-list article span{display:flex;justify-content:space-between;gap:8px}.rank-list article strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.rank-list article em{color:var(--green);font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}.rank-list article i{display:block;height:5px;margin-top:7px;border-radius:5px;background:#edf2ef;overflow:hidden}.rank-list article u{display:block;height:100%;border-radius:5px;background:#58a87c;text-decoration:none}.dashboard-empty{padding:30px 8px;text-align:center;color:var(--muted);font-size:12px}.dashboard-note{max-width:1080px;margin:16px auto 0;padding:14px 16px;border:1px solid #d6dfd9;border-radius:12px;background:#f7f9f7;color:var(--muted);font-size:11px;line-height:1.65}.dashboard-note b{margin-right:8px;color:var(--dark)}.organization-edit{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:7px;margin-top:8px}.organization-edit label{display:grid;gap:3px;margin:0;color:var(--green);font-size:10px}.organization-edit input{height:34px;padding:6px 8px;border-radius:7px;text-transform:none;font-size:11px}.organization-edit button{grid-column:1/-1;justify-self:start;height:34px;padding:0 10px;border:1px solid #bfd5c8;border-radius:7px;background:#fff;color:var(--green);font-size:11px;font-weight:900;white-space:nowrap}
@media(max-width:760px){.dashboard-toolbar{grid-template-columns:minmax(0,1fr) auto;margin-top:17px}.dashboard-toolbar>div{grid-column:1/-1}.dashboard-toolbar>label{min-width:0}.dashboard-toolbar>button{padding:0 14px}.dashboard-kpis{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.dashboard-kpis article{padding:17px 15px;border-radius:15px}.dashboard-kpis strong{font-size:34px}.daily-chart{margin-top:10px;padding:18px 15px;border-radius:16px}.daily-chart-scroll{margin-top:14px;scrollbar-width:none}.daily-chart-scroll::-webkit-scrollbar{display:none}.daily-bars{height:185px}.dashboard-ranks{grid-template-columns:1fr;gap:10px;margin-top:10px}.rank-card{padding:17px;border-radius:16px}.dashboard-note{margin-top:10px}.mobile-nav.admin-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.mobile-nav.admin-nav::-webkit-scrollbar{display:none}.mobile-nav.admin-nav button{flex:0 0 72px;min-width:72px}.organization-edit{grid-column:1/-1;grid-template-columns:1fr}.organization-edit button{height:40px}.account-list article>div{min-width:0}}

/* v3.17 simpler bindings, empty sales search and queued-order resume */
.search-waiting{padding:65px 25px}.queued-orders-card{max-width:1080px}.queue-step-tip{padding:6px 9px;border-radius:8px;background:var(--pale);color:var(--green);font-size:11px;font-weight:900}.queue-guide{margin:14px 0 0;padding:11px 13px;border-radius:10px;background:#f3f8f5;color:var(--muted);font-size:12px;line-height:1.6}.queued-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.queued-order{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fafcfb}.queued-order-head{display:flex;justify-content:space-between;gap:12px}.queued-order-head span{color:var(--green);font-size:11px;font-weight:900}.queued-order-head h3{margin:4px 0;font-size:17px}.queued-order-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.queued-order-head>b{height:max-content;padding:5px 8px;border-radius:7px;background:var(--pale);color:var(--green);font-size:11px;white-space:nowrap}.queued-thumbs{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.queued-thumbs img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}.queued-thumbs>i{position:absolute;right:5px;bottom:5px;padding:4px 6px;border-radius:7px;background:rgba(23,60,46,.88);color:#fff;font-size:10px;font-style:normal;font-weight:900}.queued-order>button{min-height:43px;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:900}.binding-simple-grid{max-width:1080px;margin:38px auto 0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px;align-items:start}.quick-binding-card,.customer-binding-list,.organization-import-card,.customer-import-card,.manual-group-card{padding:24px}.quick-binding-card form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.quick-binding-card .owner-field,.quick-binding-card form>.primary{grid-column:1/-1}.quick-binding-card>p{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.binding-search{position:relative;margin-top:15px}.binding-search span{position:absolute;left:13px;top:11px;color:var(--green);font-size:20px}.binding-search input{width:100%;padding-left:42px;text-transform:none}.customer-binding-list .compact-list{max-height:485px;overflow:auto;margin-top:10px}.customer-binding-list .compact-list article{align-items:center}.customer-binding-list article[hidden]{display:none}.customer-binding-list article button{border:1px solid #b7d4c3;border-radius:8px;padding:8px 10px;background:#fff;color:var(--green);font-size:11px;font-weight:900;white-space:nowrap}.organization-import-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;background:linear-gradient(135deg,#f0f8f3,#fff)}.organization-import-card small,.customer-import-card small{color:var(--green);font-weight:900}.organization-import-card h2,.customer-import-card h2{margin:6px 0}.organization-import-card p,.customer-import-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.organization-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:0}.organization-summary article{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.organization-summary article>div{display:grid;gap:4px}.organization-summary small{color:var(--muted);font-weight:400}.organization-summary article>b{color:var(--green);font-size:11px;white-space:nowrap}.customer-import-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.manual-group-card{grid-column:1/-1}.manual-group-card summary{cursor:pointer;color:var(--green);font-weight:900}.manual-group-card form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.manual-group-card .member-list,.manual-group-card .primary{grid-column:1/-1}
@media(max-width:760px){.search-waiting{padding:48px 18px}.queued-orders-card .section-head{align-items:flex-start;gap:10px}.queued-orders-card .section-head button{max-width:115px}.queued-orders{grid-template-columns:1fr}.queued-order{padding:14px}.queued-order>button{min-height:49px}.binding-simple-grid{grid-template-columns:1fr;margin-top:18px;gap:10px}.quick-binding-card,.customer-binding-list,.organization-import-card,.customer-import-card,.manual-group-card{padding:17px;border-radius:16px}.quick-binding-card form{grid-template-columns:1fr}.quick-binding-card .owner-field,.quick-binding-card form>.primary{grid-column:auto}.customer-binding-list .compact-list{max-height:none}.customer-binding-list .compact-list article{align-items:flex-start}.customer-binding-list article button{min-height:40px}.organization-import-card,.customer-import-card{grid-template-columns:1fr}.organization-summary{grid-column:auto;grid-template-columns:1fr}.organization-import-card .import-actions,.customer-import-card .import-actions{grid-template-columns:1fr 1fr}.manual-group-card form{grid-template-columns:1fr}.manual-group-card .member-list,.manual-group-card .primary{grid-column:auto}}

/* v3.18 password-protected initialization */
.reset-danger-card{max-width:1080px;margin:16px auto 0;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-color:#efc1ba;background:#fff9f8}.reset-danger-card small{color:#b43d32;font-weight:900}.reset-danger-card h2{margin:5px 0 4px;font-size:18px}.reset-danger-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.reset-danger-card>button{flex:0 0 auto;padding:11px 15px;border:1px solid #c94c40;border-radius:10px;background:#fff;color:#b43d32;font-weight:900}.reset-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(14,32,24,.68);backdrop-filter:blur(3px)}.reset-dialog{width:min(590px,100%);max-height:calc(100svh - 40px);overflow:auto;padding:0}.reset-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--line)}.reset-dialog header small{color:#b43d32;font-weight:900}.reset-dialog header h2{margin:5px 0 0;font-size:22px}.reset-dialog header>button{width:38px;height:38px;border:0;border-radius:50%;background:#f2f4f2;color:#526159;font-size:25px}.reset-dialog form{padding:20px 24px 24px}.reset-dialog fieldset{display:grid;gap:10px;margin:0 0 18px;padding:0;border:0}.reset-dialog legend{margin-bottom:8px;color:var(--dark);font-size:12px;font-weight:900}.reset-choice{display:grid!important;grid-template-columns:auto 1fr;gap:11px!important;align-items:flex-start;margin:0!important;padding:13px 14px;border:1px solid #bfd7ca;border-radius:12px;background:#f5fbf7}.reset-choice.full{border-color:#edc2bc;background:#fff8f7}.reset-choice input{width:18px!important;height:18px!important;margin-top:2px}.reset-choice span{display:grid;gap:4px}.reset-choice b{font-size:13px}.reset-choice small{color:var(--muted);font-size:11px;line-height:1.55}.reset-warning{margin:15px 0;padding:11px 13px;border-radius:10px;background:#fff2dd;color:#7a5315;font-size:11px;line-height:1.55}.reset-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:10px;margin-top:17px}.reset-actions button{min-height:44px;border:1px solid #cbd7d0;border-radius:10px;background:#fff;color:var(--dark);font-weight:900}.reset-actions .danger{border-color:#b43d32;background:#b43d32;color:#fff}.reset-actions button:disabled{opacity:.6}
@media(max-width:760px){.reset-danger-card{align-items:flex-start;flex-direction:column;margin-top:10px;padding:17px}.reset-danger-card>button{width:100%;min-height:46px}.reset-modal{align-items:end;padding:0}.reset-dialog{width:100%;max-height:92svh;border-radius:22px 22px 0 0}.reset-dialog>header{padding:19px 18px 14px}.reset-dialog form{padding:16px 18px calc(20px + env(safe-area-inset-bottom))}.reset-choice{padding:12px}.reset-actions{grid-template-columns:1fr}.reset-actions .danger{grid-row:1}.reset-actions button{min-height:48px}}

/* v3.23 native fixed account and version menu */
.quick-text-line>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:7px}.quick-text-line>span input{margin:0}.quick-text-line>span button{min-width:66px;border:1px solid #b8d2c3;border-radius:10px;background:#f2f8f4;color:var(--green);font-weight:900}.draw-history{grid-template-columns:repeat(3,minmax(0,1fr))}.draw-history [data-delete-last-text]{border-color:#e4b8b1;background:#fff6f4;color:#a43e34}.upload-progress{grid-column:1/-1;display:grid;gap:7px;margin-top:2px;padding:12px 13px;border-radius:11px;background:#153d2f;color:#fff}.upload-progress>span{display:flex;justify-content:space-between;gap:12px}.upload-progress b,.upload-progress em{font-size:12px;font-style:normal;font-weight:900}.upload-progress>i,.queue-card-progress>i{display:block;height:8px;border-radius:8px;background:rgba(255,255,255,.22);overflow:hidden}.upload-progress>i>u,.queue-card-progress>i>u{display:block;height:100%;border-radius:8px;background:#f2bb45;text-decoration:none}.upload-progress>small{color:#c9ded4;font-size:10px}.queue-card-progress{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px 11px;border-radius:10px;background:#174c39;color:#fff}.queue-card-progress span,.queue-card-progress b{font-size:11px}.queue-card-progress>i{grid-column:1/-1}.photo-lightbox{position:fixed;z-index:1200;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#07110d;color:#fff}.photo-lightbox>header{display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:#102b21}.photo-lightbox header>b{font-size:15px}.photo-lightbox header>button{width:46px;height:46px;border:0;border-radius:12px;background:#27473a;color:#fff;font-size:27px}.photo-lightbox>img{display:block;width:100%;height:100%;object-fit:contain}.photo-lightbox>small{padding:12px 16px calc(12px + env(safe-area-inset-bottom));color:#cbd9d2;text-align:center}.single-photos{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px}.single-photos>a,.single-photos>.pending-photo{border-radius:12px;background:#f7faf8;overflow:hidden}.single-photos img{aspect-ratio:4/3}.queued-order{box-shadow:0 8px 24px rgba(21,61,47,.06)}.queued-order-head h3{font-variant-numeric:tabular-nums;letter-spacing:.01em}.batch-upload-panel>button{min-height:48px}.batch-upload-panel>button:disabled{opacity:.72}
@media(max-width:760px){.photo-editor>section{border-radius:16px}.photo-editor header h2{font-size:17px;line-height:1.35}.quick-text-help{font-size:12px;line-height:1.55}.draw-history{grid-template-columns:1fr 1fr}.draw-history [data-delete-last-text]{grid-column:1/-1;min-height:45px}.draw-tools button,.draw-options button,.draw-history button{min-height:44px}.editor-actions{position:sticky;bottom:0;padding-top:8px;background:#fff}.upload-progress{padding:12px}.single-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.single-photos a>b{font-size:10px}.queued-order-head h3{font-size:19px}.queued-order>button{font-size:14px}.form-section input{font-size:17px}}

/* detector corrections */
body{font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif}.order-sheet-section{border-top:0}.stage-banner{border-left:0}.upload-progress>i>u,.queue-card-progress>i>u{transition:none}
/* Android 应用内：已处理单据极简详情 */
.native-detail-shell{min-height:100vh;padding:16px;background:#f1f7f4}
.app-supplement-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.app-supplement-actions>button{min-height:52px;border:1px solid #176b4d;border-radius:14px;background:#fff;color:#176b4d;font-weight:900}.app-supplement-actions>button:first-child{background:#176b4d;color:#fff}
@media(max-width:520px){.app-supplement-actions{grid-template-columns:1fr}.native-detail-shell{padding:12px}}
.login-help{margin-top:24px;padding:15px;border-radius:11px;background:#f5f7f5;display:grid;gap:5px;color:var(--muted);font-size:12px}.login-help b{color:var(--dark);margin-bottom:3px}
.app-order-detail{max-width:920px;margin:0 auto;display:grid;gap:18px;padding:4px 0 38px}.app-order-heading{display:flex;align-items:center;gap:14px}.app-order-heading>button{width:auto;min-width:72px;padding:12px 16px;border:1px solid #bfd2c8;border-radius:14px;background:#fff;color:#176b4d;font-weight:800}.app-order-heading small{display:block;color:#638078;font-weight:700}.app-order-heading h1{margin:2px 0 0;font-size:clamp(25px,5vw,36px);color:#10251e}.app-order-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px;background:#fff;border:1px solid #d7e4de;border-radius:22px;box-shadow:0 12px 35px rgba(16,62,48,.07)}.app-order-facts div{min-width:0;padding:5px 8px}.app-order-facts small{display:block;margin-bottom:5px;color:#71837c;font-weight:700}.app-order-facts b{display:block;overflow-wrap:anywhere;font-size:20px;color:#10251e}.app-order-facts .status b{color:#176b4d}.app-order-gallery{padding:18px;background:#fff;border:1px solid #d7e4de;border-radius:22px}.app-order-gallery header{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.app-order-gallery header small{display:block;color:#6f8179;font-weight:700}.app-order-gallery h2{margin:3px 0 0;color:#10251e}.app-order-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app-order-photo{overflow:hidden;border:1px solid #d1dfd8;border-radius:16px;background:#f8fbf9}.app-order-photo>a{display:block;color:#10251e;text-decoration:none}.app-order-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#dfe9e4}.app-order-photo>a b{display:block;padding:9px 12px;font-size:14px}.app-order-photo>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 9px 10px}.app-order-photo label,.app-order-photo button{display:flex;align-items:center;justify-content:center;min-height:42px;margin:0;border:1px solid #b8cfc4;border-radius:11px;background:#fff;color:#176b4d;font-size:14px;font-weight:800;cursor:pointer}.app-order-photo label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.app-order-photo button.photo-delete{border-color:#ebc4c4;color:#b53030}.app-order-empty{padding:28px 16px;border-radius:14px;background:#f3f7f5;color:#71837c;text-align:center}.app-upload-failed{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border:1px solid #f0c6a8;border-radius:18px;background:#fff6ec}.app-upload-failed b,.app-upload-failed span{display:block}.app-upload-failed b{color:#9b4f12}.app-upload-failed span{margin-top:4px;color:#80644e;font-size:13px}.app-upload-failed button{width:auto;min-width:104px;padding:12px;border:0;border-radius:12px;background:#b55c17;color:#fff;font-weight:800}.app-order-actions{display:grid;gap:10px}.app-order-actions>button{min-height:54px;border:0;border-radius:16px;background:#176b4d;color:#fff;font-size:17px;font-weight:900}.app-order-actions small{color:#71837c;line-height:1.7;text-align:center}
@media (max-width:680px){.app-order-detail{gap:13px;padding:0 0 28px}.app-order-facts{grid-template-columns:1fr 1fr;padding:13px;gap:5px}.app-order-facts .status{grid-column:1/-1;border-top:1px solid #e1ebe6;padding-top:12px}.app-order-facts b{font-size:18px}.app-order-gallery{padding:14px}.app-order-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.app-order-photo>div{grid-template-columns:1fr;padding:0 7px 8px}.app-order-photo label,.app-order-photo button{min-height:40px}.app-upload-failed{align-items:stretch;flex-direction:column}.app-upload-failed button{width:100%}}
.app-order-photo label,.app-order-photo button,.customer-binding-list article button{min-height:48px}
.draw-tools button,.draw-options button,.draw-history button{min-height:48px}

/* v3.34 管理员全流程单据进度 */
.progress-overview{max-width:1080px;margin:30px auto 0;overflow:hidden;border:1px solid #d6e2dc;border-radius:18px;background:#fff}.progress-overview>header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:23px 24px 19px}.progress-overview>header h2{margin:0;font-size:24px}.progress-overview>header p{margin:6px 0 0;color:#63756c;font-size:12px;line-height:1.6}.progress-search{display:flex;gap:8px;min-width:min(440px,48%)}.progress-search input{width:100%;height:44px;padding:9px 12px;text-transform:none}.progress-search button,.progress-order-row>button{min-height:44px;border:1px solid #b8cfc4;border-radius:10px;background:#fff;color:#176b4d;font-weight:900;white-space:nowrap}.progress-search button{padding:0 16px}.progress-search .clear{border-color:#d9dfdc;color:#596960}.progress-status-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #e0e8e3;border-bottom:1px solid #e0e8e3;background:#f7faf8}.progress-status-tabs button{display:grid;gap:4px;padding:14px 12px;border:0;border-right:1px solid #e0e8e3;background:transparent;color:#5f7168;text-align:left}.progress-status-tabs button:last-child{border-right:0}.progress-status-tabs button strong{font-size:22px;color:#173c2e;font-variant-numeric:tabular-nums}.progress-status-tabs button span{font-size:12px;font-weight:800}.progress-status-tabs button.active{background:#e8f4ed;color:#176b4d;box-shadow:inset 0 -3px #1f7652}.progress-status-tabs button.active strong{color:#176b4d}.progress-result-head{display:flex;justify-content:space-between;gap:12px;padding:14px 24px 10px}.progress-result-head b{font-size:14px}.progress-result-head span{color:#718078;font-size:11px}.progress-order-list{padding:0 24px 20px}.progress-order-row{display:grid;grid-template-columns:minmax(180px,1.35fr) 112px repeat(3,minmax(108px,.85fr)) 88px;gap:13px;align-items:center;padding:17px 0;border-top:1px solid #e2e9e5}.progress-order-main{min-width:0}.progress-order-main>span{color:#176b4d;font-size:11px;font-weight:900}.progress-order-main h3{margin:4px 0;font-size:17px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.progress-order-main p{margin:0;color:#687970;font-size:10px;line-height:1.55;overflow-wrap:anywhere}.progress-status{display:grid;gap:5px}.progress-status b{width:max-content;max-width:100%;padding:6px 8px;border-radius:7px;font-size:11px}.progress-status small{color:#718078;font-size:9px;line-height:1.45}.progress-status.detail b{background:#e9f2ff;color:#285b8b}.progress-status.summary b{background:#fff2d8;color:#85530e}.progress-status.supplement b{background:#f6e8ff;color:#6f3e91}.progress-status.complete b{background:#e5f4eb;color:#176b4d}.progress-status.unknown b{background:#f1f2f1;color:#59665f}.progress-stage{display:grid;grid-template-columns:10px minmax(0,1fr);gap:7px;align-items:start;min-width:0}.progress-stage>i{width:9px;height:9px;margin-top:3px;border:2px solid #bdc9c2;border-radius:50%;background:#fff}.progress-stage span{display:grid;gap:4px;min-width:0}.progress-stage b{font-size:11px}.progress-stage small{color:#718078;font-size:9px;line-height:1.45;overflow-wrap:anywhere}.progress-stage.done>i{border-color:#1f7652;background:#1f7652}.progress-stage.active>i{border-color:#b97819;background:#f0bc68}.progress-stage.active b{color:#85530e}.progress-order-row>button{padding:0 10px}.progress-empty{display:grid;gap:6px;padding:42px 16px;border-top:1px solid #e2e9e5;color:#63736b;text-align:center}.progress-empty b{color:#173c2e}.progress-overview button:focus-visible,.progress-overview input:focus-visible{outline:3px solid #9bcab3;outline-offset:2px}
@media(max-width:900px){.progress-order-row{grid-template-columns:minmax(180px,1.4fr) 105px repeat(3,minmax(95px,1fr))}.progress-order-row>button{grid-column:1/-1;justify-self:end;min-width:120px}.progress-overview>header{align-items:stretch;flex-direction:column}.progress-search{min-width:0;width:100%}}
@media(max-width:760px){.progress-overview{margin-top:18px;border-radius:16px}.progress-overview>header{padding:18px 16px 15px;gap:14px}.progress-overview>header h2{font-size:21px}.progress-search{display:grid;grid-template-columns:minmax(0,1fr) auto}.progress-search .clear{grid-column:1/-1;min-height:39px}.progress-status-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.progress-status-tabs::-webkit-scrollbar{display:none}.progress-status-tabs button{flex:0 0 116px;scroll-snap-align:start;padding:12px}.progress-status-tabs button strong{font-size:20px}.progress-result-head{padding:13px 16px 8px}.progress-order-list{padding:0 16px 16px}.progress-order-row{grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:16px 0}.progress-order-main{grid-column:1}.progress-status{grid-column:2;justify-items:end}.progress-status small{text-align:right}.progress-stage{grid-column:1/-1;grid-template-columns:10px minmax(0,1fr);padding:6px 0 0 5px}.progress-stage b{font-size:12px}.progress-stage small{font-size:10px}.progress-order-row>button{grid-column:1/-1;justify-self:stretch;min-height:46px}.dashboard-toolbar{margin-top:18px}}

/* v3.51 管理端进度总览：默认单量，按需展开明细 */
.progress-overview>header{align-items:flex-start;padding-bottom:16px}.progress-status-tabs{border-bottom:0}.progress-status-tabs button{min-height:80px;cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.progress-status-tabs button:hover{background:#eef6f1}.progress-status-tabs button strong{font-variant-numeric:tabular-nums}.progress-details{border-top:1px solid #dbe6e0;animation:progress-detail-reveal .2s cubic-bezier(.16,1,.3,1)}.progress-details-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px 8px}.progress-details-head>div{display:grid;gap:4px}.progress-details-head b{font-size:18px;color:#173c2e}.progress-details-head span,.progress-detail-toolbar>span{color:#687a71;font-size:11px}.progress-details-head button{min-height:44px;padding:0 15px;border:1px solid #c4d5cc;border-radius:10px;background:#fff;color:#176b4d;font-weight:900}.progress-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 24px 8px}.progress-detail-toolbar .progress-search{flex:1;min-width:0;max-width:560px}.progress-details .progress-order-list{padding-top:4px}.progress-details .progress-empty{border-top:0}.progress-status-tabs button:focus-visible,.progress-details button:focus-visible,.progress-details input:focus-visible{outline:3px solid #94c7ae;outline-offset:2px}@keyframes progress-detail-reveal{from{opacity:.35;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.progress-status-tabs button{min-height:72px}.progress-details-head{align-items:flex-start;padding:17px 16px 7px}.progress-details-head b{font-size:16px}.progress-details-head button{min-height:42px}.progress-detail-toolbar{align-items:stretch;flex-direction:column;gap:8px;padding:8px 16px}.progress-detail-toolbar .progress-search{width:100%;max-width:none}.progress-detail-toolbar>span{text-align:right}}
@media(prefers-reduced-motion:reduce){.progress-details{animation:none}.progress-status-tabs button{transition:none}}

/* v3.37 销售业务员“我的单据” */
.sales-my-workbench{max-width:1040px;margin:30px auto 0;display:grid;gap:14px}.sales-scope{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 2px}.sales-scope h2{margin:0;font-size:22px}.sales-scope p{margin:6px 0 0;color:#607168;font-size:12px}.sales-scope>span{color:#176b4d;font-size:13px;font-weight:900;white-space:nowrap}.sales-filter-bar,.sales-orders-result{overflow:hidden;border:1px solid #d5e1db;border-radius:15px;background:#fff}.sales-query{display:grid;grid-template-columns:minmax(230px,1fr) 178px auto auto;gap:9px;padding:16px}.sales-query input{height:45px;padding:10px 12px;text-transform:none}.sales-query button{min-width:78px;border:0;border-radius:10px;background:#176b4d;color:#fff;font-weight:900}.sales-query button.clear{border:1px solid #c6d4cd;background:#fff;color:#54665d}.sales-status-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e0e8e3;background:#f8faf9}.sales-status-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;border:0;border-right:1px solid #e0e8e3;background:transparent;color:#5f7067}.sales-status-tabs button:last-child{border-right:0}.sales-status-tabs button b{font-size:19px;color:#173c2e;font-variant-numeric:tabular-nums}.sales-status-tabs button span{font-size:12px;font-weight:900}.sales-status-tabs button.active{background:#e8f4ed;color:#176b4d;box-shadow:inset 0 -3px #1f7652}.sales-status-tabs button.active b{color:#176b4d}.sales-result-head{display:flex;justify-content:space-between;gap:12px;padding:15px 20px 11px}.sales-result-head b{font-size:14px}.sales-result-head span{color:#718078;font-size:11px}.sales-order-list{padding:0 20px 6px}.sales-order-item{padding:20px 0;border-top:1px solid #e0e8e3}.sales-order-item>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sales-order-item header>div{min-width:0}.sales-order-item h2{margin:7px 0 4px;font-size:19px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.sales-order-item header p{margin:0;color:#617269;font-size:12px}.sales-order-item time{color:#687a71;font-size:11px;white-space:nowrap}.sales-status{display:inline-flex;width:max-content;padding:5px 8px;border-radius:7px;font-size:11px;font-weight:900}.sales-status.open{background:#e9f2ff;color:#285b8b}.sales-status.packing{background:#fff1d7;color:#7d510f}.sales-status.completed{background:#e4f3ea;color:#176b4d}.sales-order-stages{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.sales-order-stages>div{display:grid;grid-template-columns:11px minmax(0,1fr);gap:9px;align-items:start;padding:12px;border-radius:11px;background:#f6f8f7}.sales-order-stages i{width:10px;height:10px;margin-top:3px;border:2px solid #aab8b1;border-radius:50%;background:#fff}.sales-order-stages span{display:grid;gap:3px}.sales-order-stages b{font-size:12px}.sales-order-stages small{color:#6f8077;font-size:10px}.sales-order-stages .done{background:#eef7f2}.sales-order-stages .done i{border-color:#1f7652;background:#1f7652}.sales-order-stages .active{background:#fff6e6}.sales-order-stages .active i{border-color:#b77919;background:#efbb67}.sales-order-item>footer{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:14px}.sales-order-item>footer>div{display:grid;gap:5px;color:#607168;font-size:11px}.sales-order-item>footer>section{display:flex;gap:8px}.sales-order-item footer button{min-height:42px;padding:0 13px;border:1px solid #adcbbb;border-radius:10px;background:#fff;color:#176b4d;font-size:12px;font-weight:900}.sales-order-item footer button:last-child{background:#176b4d;color:#fff}.sales-order-item footer button:disabled{border-color:#dce3df;background:#f1f3f2;color:#97a29c;cursor:not-allowed}.sales-orders-empty{display:grid;gap:7px;padding:54px 18px;border-top:1px solid #e0e8e3;color:#687970;text-align:center}.sales-orders-empty b{color:#173c2e}.sales-page-note{display:flex;gap:12px;padding:13px 15px;border-radius:12px;background:#e9f0ec;color:#586961;font-size:11px;line-height:1.6}.sales-page-note b{flex:0 0 auto;color:#173c2e}.sales-status-tabs button:focus-visible,.sales-query button:focus-visible,.sales-order-item footer button:focus-visible{outline:3px solid #94c7ae;outline-offset:2px}.sales-detail-grid .sales-order-summary{grid-template-columns:repeat(3,1fr)}.sales-summary-status.open{color:#285b8b}.sales-summary-status.packing{color:#8a5810}.sales-summary-status.completed{color:#176b4d}
@media(max-width:760px){.mobile-nav.sales-nav{grid-template-columns:repeat(3,1fr);padding-left:4px;padding-right:4px}.app-office-shell .mobile-nav.sales-nav{grid-template-columns:repeat(2,1fr)}.mobile-nav.sales-nav button{min-width:0;padding:3px 1px;font-size:11px}.mobile-nav.sales-nav button span{font-size:16px}.sales-my-workbench{margin-top:18px;gap:10px}.sales-scope{align-items:flex-start;padding:0 1px}.sales-scope h2{font-size:18px}.sales-scope p{line-height:1.55}.sales-query{grid-template-columns:minmax(0,1fr) auto;padding:12px;gap:8px}.sales-query input[type="date"]{grid-column:1}.sales-query button[data-sales-refresh]{grid-column:2;grid-row:1/3}.sales-query button.clear{grid-column:1/-1;min-height:40px}.sales-status-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.sales-status-tabs::-webkit-scrollbar{display:none}.sales-status-tabs button{flex:0 0 92px;min-height:54px;gap:6px}.sales-status-tabs button b{font-size:17px}.sales-result-head{padding:13px 14px 9px}.sales-order-list{padding:0 14px 4px}.sales-order-item{padding:17px 0}.sales-order-item>header{gap:10px}.sales-order-item time{font-size:10px;text-align:right;white-space:normal;max-width:90px}.sales-order-item h2{font-size:18px}.sales-order-stages{grid-template-columns:1fr;gap:7px;margin-top:13px}.sales-order-item>footer{align-items:stretch;flex-direction:column;gap:12px}.sales-order-item>footer>section{display:grid;grid-template-columns:1fr 1fr}.sales-order-item footer button{min-height:47px;padding:0 8px}.sales-page-note{align-items:flex-start;flex-direction:column;gap:4px}.sales-detail-grid .sales-order-summary{grid-template-columns:1fr}.sales-detail-grid .gallery .section-head{align-items:flex-start;gap:8px}.sales-detail-grid .gallery-actions{align-items:flex-end}.sales-detail-grid .gallery-actions button{min-height:42px}}

/* v3.39 admin/sales mobile app parity and factual workflow states */
.progress-status-tabs{grid-template-columns:repeat(6,1fr)}
.progress-status.awaiting b,.sales-status.awaiting_detail{background:#f0f2f1;color:#596960}
.sales-status-tabs{grid-template-columns:repeat(5,1fr)}
.app-office-shell{grid-template-columns:1fr;min-height:100vh;background:#f1f7f4}
.app-office-shell .sidebar{display:none}
.app-office-shell .workspace{padding:15px 14px 94px}
.app-office-shell .workspace>header{align-items:flex-start;padding:2px 2px 0}
.app-office-shell .workspace>header small{font-size:11px;letter-spacing:0}
.app-office-shell .workspace>header h1{margin-top:4px;font-size:25px;line-height:1.2}
.app-office-shell .mobile-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:flex;height:76px;padding:6px 5px max(6px,env(safe-area-inset-bottom));overflow-x:hidden;border-top:1px solid #d5e1db;background:#fff;box-shadow:0 -8px 24px rgba(18,54,40,.08)}
.app-office-shell .mobile-nav button{display:grid;flex:1;min-width:0;min-height:54px;place-items:center;gap:1px;padding:4px 1px;border-radius:12px;color:#748179;text-align:center;font-size:10px;line-height:1.2}
.app-office-shell .mobile-nav button span{font-size:17px;line-height:1}
.app-office-shell .mobile-nav button.active{background:#e9f4ee;color:#176b4d}
.app-office-shell .mobile-nav button b{right:8%;top:0}
.app-office-shell .progress-overview,.app-office-shell .sales-my-workbench,.app-office-shell .queue-card,.app-office-shell .search-card,.app-office-shell .notice-card,.app-office-shell .admin-grid,.app-office-shell .binding-simple-grid{margin-top:15px}
.app-office-shell .progress-overview>header p,.app-office-shell .sales-scope p{font-size:12px;line-height:1.55}
@media(max-width:760px){.app-office-shell .progress-status-tabs button{flex-basis:108px}.app-office-shell .progress-order-row{padding:14px 0}.app-office-shell .progress-stage{padding-top:3px}.app-office-shell .sales-status-tabs button{flex-basis:88px}.app-office-shell .sales-order-item{padding:15px 0}.app-office-shell .sales-order-stages>div{padding:10px}.app-office-shell .admin-grid,.app-office-shell .binding-simple-grid{gap:12px}.app-office-shell .account-create,.app-office-shell .account-list,.app-office-shell .quick-binding-card,.app-office-shell .customer-binding-list,.app-office-shell .organization-import-card,.app-office-shell .customer-import-card,.app-office-shell .manual-group-card{padding:16px}}

/* v3.40 categorized notifications with per-account read state */
.notice-card{overflow:hidden;padding:0}
.notice-card>.section-head{gap:20px;padding:24px 26px 18px}
.notice-card>.section-head h2{margin:0;font-size:22px}
.notice-card>.section-head p{max-width:620px;margin:6px 0 0;color:#65766d;font-size:12px;line-height:1.55}
.notice-card>.section-head>button{min-height:44px;padding:0 15px;border:1px solid #176b4d;border-radius:11px;background:#176b4d;color:#fff;font-weight:900;white-space:nowrap}
.notice-card>.section-head>button:disabled{border-color:#d4ddd8;background:#edf1ef;color:#89968f}
.notice-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dce5df;border-bottom:1px solid #dce5df;background:#f8faf9}
.notice-tabs button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;min-height:66px;padding:11px 18px;border:0;border-right:1px solid #dce5df;background:transparent;color:#5d6e65;text-align:left}
.notice-tabs button:last-child{border-right:0}
.notice-tabs button>span{font-size:13px;font-weight:900}
.notice-tabs button>b{font-size:20px;font-variant-numeric:tabular-nums}
.notice-tabs button>i{grid-column:1/-1;color:#b05f17;font-size:10px;font-style:normal;font-weight:800}
.notice-tabs button>i.all-read{color:#718078}
.notice-tabs button.active{background:#e8f4ed;color:#176b4d;box-shadow:inset 0 -3px #176b4d}
.notice-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 26px 7px}
.notice-result-head b{font-size:14px}
.notice-result-head span{color:#718078;font-size:11px}
.notice-card .notice-list{margin:0;padding:0 26px 18px}
.notice-card .notice-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid #dfe7e2;background:transparent}
.notice-card .notice-row.unread{background:#f1f8f4;box-shadow:0 0 0 10px #f1f8f4}
.notice-copy{min-width:0}
.notice-copy>span{display:inline-block;padding:4px 7px;border-radius:7px;background:#edf1ef;color:#6b7972;font-size:10px;font-weight:900}
.notice-row.unread .notice-copy>span{background:#dcefe3;color:#176b4d}
.notice-copy h3{margin:8px 0 6px;font-size:16px}
.notice-copy p{margin:0 0 9px;color:#53655c;font-size:12px;line-height:1.65}
.notice-copy small{color:#718078;font-size:10px}
.notice-row>footer{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;min-width:220px}
.notice-row>footer button,.notice-read-state{display:grid;place-items:center;min-height:44px;padding:0 12px;border:1px solid #b8cfc3;border-radius:10px;background:#fff;color:#176b4d;font-size:12px;font-weight:900;white-space:nowrap}
.notice-row>footer .notice-open{border-color:#176b4d;background:#176b4d;color:#fff}
.notice-read-state{border-color:#d9e1dd;background:#f1f4f2;color:#7a8780}
.notice-empty{display:grid;gap:7px;padding:52px 18px;border-top:1px solid #e0e8e3;color:#6a7b72;text-align:center}
.notice-empty b{color:#173c2e;font-size:16px}
.notice-tabs button:focus-visible,.notice-card button:focus-visible{outline:3px solid #94c7ae;outline-offset:2px}
@media(max-width:760px){.notice-card>.section-head{align-items:stretch;flex-direction:column;padding:18px 16px 14px}.notice-card>.section-head h2{font-size:20px}.notice-card>.section-head>button{width:100%;min-height:48px}.notice-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.notice-tabs::-webkit-scrollbar{display:none}.notice-tabs button{flex:0 0 132px;min-height:62px;padding:10px 13px}.notice-result-head{padding:13px 16px 7px}.notice-card .notice-list{padding:0 16px 15px}.notice-card .notice-row{grid-template-columns:1fr;gap:13px;padding:16px 0}.notice-card .notice-row.unread{box-shadow:0 0 0 7px #f1f8f4}.notice-row>footer{grid-template-columns:1fr 1.15fr;min-width:0}.notice-row>footer button,.notice-read-state{min-height:48px}.notice-copy p{font-size:12px}.notice-empty{padding:44px 14px}}

/* v3.41 sales photo selection and copy */
.pending-work-section{background:#fbfdfb}.pending-work-section .section-explain{margin:6px 0 12px;color:var(--muted);font-size:12px;line-height:1.55}.awaiting-order>div:nth-child(2)>span{background:#fff1cf;color:#80530f}.awaiting-order .stack i{background:#d6b36b}.awaiting-order .stack i:nth-child(2){background:#b98a32}
.photo-copy-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px 18px;align-items:center;margin:20px 25px 6px;padding:18px;border:1px solid #a9d0bb;border-radius:15px;background:#eff8f3}.photo-copy-panel>div{display:grid;gap:4px}.photo-copy-panel>div>b{color:#173c2e;font-size:16px}.photo-copy-panel>div>span,.photo-copy-panel>small{color:#60736a;font-size:11px;line-height:1.55}.photo-copy-panel>nav{display:flex;gap:7px}.photo-copy-panel button{min-height:40px;padding:8px 12px;border:1px solid #a7c9b7;border-radius:9px;background:#fff;color:#176b4d;font-weight:850;cursor:pointer}.photo-copy-panel button:disabled{opacity:.45;cursor:not-allowed}.photo-copy-panel .primary-copy{grid-column:1/-1;min-height:50px;border-color:#176b4d;background:#176b4d;color:#fff;font-size:15px}.photo-copy-panel .primary-copy strong{display:inline-block;min-width:24px;padding:2px 7px;border-radius:12px;background:#fff;color:#176b4d}.photo-copy-panel>small{grid-column:1/-1}.history-photo.selected{padding:5px;border-radius:13px;background:#e2f4e9;box-shadow:0 0 0 2px #1f8a54}.sales-photo-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:7px!important}.sales-photo-actions .photo-check,.sales-photo-actions>button{display:flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:8px 5px;border:1px solid #aacbbb;border-radius:9px;background:#fff;color:#176b4d;font-size:11px;font-weight:900;cursor:pointer}.sales-photo-actions .photo-check input{width:18px;height:18px;min-width:18px;margin:0 6px 0 0;padding:0;accent-color:#176b4d}.sales-photo-actions>button{border-color:#176b4d;background:#176b4d;color:#fff}.sales-photo-actions>button:disabled{opacity:.55}.sales-detail-grid .gallery-actions>span{color:#60736a;font-weight:750}
@media(max-width:760px){.photo-copy-panel{grid-template-columns:1fr;margin:16px 16px 4px;padding:15px;gap:11px}.photo-copy-panel>nav{display:grid;grid-template-columns:1fr 1fr 68px}.photo-copy-panel button{min-height:44px;padding:7px 5px;font-size:12px}.photo-copy-panel .primary-copy,.photo-copy-panel>small{grid-column:1}.sales-photo-actions{grid-template-columns:1fr!important}.sales-photo-actions .photo-check,.sales-photo-actions>button{min-height:44px;font-size:12px}.history-photo.selected{padding:4px}}

/* v3.45: sales uses one order entry, checkbox selection, and one delivery action */
.sales-order-item>footer>section{display:block}.sales-order-item footer button{min-width:190px;border-color:#176b4d;background:#176b4d;color:#fff}.photo-copy-panel{grid-template-columns:minmax(0,1fr) auto}.photo-copy-panel .primary-copy{grid-column:2;grid-row:1;min-width:210px}.photo-copy-panel>small{grid-column:1/-1}.sales-photo-actions{grid-template-columns:1fr!important}.sales-photo-actions .photo-check{width:100%;min-height:44px;font-size:12px}.sales-photo-actions .photo-check input{width:21px;height:21px;min-width:21px}
@media(max-width:760px){.sales-order-item>footer>section{display:block}.sales-order-item footer button{width:100%;min-width:0}.photo-copy-panel{grid-template-columns:1fr}.photo-copy-panel .primary-copy{grid-column:1;grid-row:auto;width:100%;min-width:0}.photo-copy-panel>small{grid-column:1}}

/* v3.46: native-gallery-style selection for sales */
.sales-detail-grid .photo-copy-panel{position:sticky;z-index:7;top:10px;margin:12px 16px;padding:14px 16px;border-color:#c8d9d1;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(23,60,46,.14)}.sales-detail-grid .photo-copy-panel>div>b{font-size:19px}.sales-detail-grid .photo-copy-panel>div>b strong{color:#176b4d;font-size:24px;font-variant-numeric:tabular-nums}.sales-detail-grid .photo-copy-panel .primary-copy{min-height:48px;border-radius:12px}.sales-detail-grid .history-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sales-select-photo{position:relative;overflow:visible;border-radius:11px;background:#e8efeb}.sales-detail-grid .history-photos .sales-select-photo>a img{aspect-ratio:1/1;border-radius:9px}.sales-select-photo>.photo-check{position:absolute;z-index:3;top:0;right:0;width:46px;height:46px;margin:0;display:grid;place-items:center;cursor:pointer}.sales-select-photo>.photo-check input{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none}.sales-select-photo>.photo-check span{position:relative;width:25px;height:25px;border:2px solid rgba(255,255,255,.96);border-radius:50%;background:rgba(20,39,31,.35);box-shadow:0 1px 5px rgba(0,0,0,.2)}.sales-select-photo>.photo-check span::after{content:"";position:absolute;left:7px;top:4px;width:7px;height:12px;border-right:2px solid transparent;border-bottom:2px solid transparent;transform:rotate(45deg)}.sales-select-photo>.photo-check input:checked+span{border-color:#1f7652;background:#1f7652}.sales-select-photo>.photo-check input:checked+span::after{border-color:#fff}.sales-select-photo>.photo-check input:focus-visible+span{outline:3px solid #9ccbb5;outline-offset:2px}.sales-select-photo.selected{padding:3px;border-radius:12px;background:#1f7652;box-shadow:none}.sales-select-photo.selected>a img{border-radius:7px}.sales-select-photo>a>b{right:5px;width:max-content;max-width:calc(100% - 10px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-select-photo>a>small{top:auto;bottom:28px}.sales-select-photo .sales-photo-actions{display:none!important}
@media(max-width:760px){.sales-detail-grid .photo-copy-panel{top:6px;grid-template-columns:minmax(0,1fr) auto;margin:10px 0 4px;padding:12px 13px;gap:8px 12px;border-radius:0}.sales-detail-grid .photo-copy-panel>div>b{font-size:18px}.sales-detail-grid .photo-copy-panel>div>b strong{font-size:22px}.sales-detail-grid .photo-copy-panel>div>span{font-size:10px}.sales-detail-grid .photo-copy-panel .primary-copy{grid-column:2;grid-row:1;min-width:118px;width:auto;min-height:46px;padding:8px 13px;font-size:13px}.sales-detail-grid .photo-copy-panel>small{display:none}.sales-detail-grid .history-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.sales-detail-grid .gallery{margin-left:10px;margin-right:10px}.sales-detail-grid .history-photos .sales-select-photo>a img{border-radius:5px}.sales-select-photo{border-radius:7px}.sales-select-photo.selected{padding:3px;border-radius:8px}.sales-select-photo>.photo-check{width:44px;height:44px}.sales-select-photo>.photo-check span{width:27px;height:27px}.sales-select-photo>.photo-check span::after{left:8px;top:4px;width:6px;height:12px}.sales-select-photo>a>b{font-size:8px}}

/* v3.53: visible sales select-all checkbox on phone and desktop */
.sales-detail-grid .photo-copy-panel{grid-template-columns:minmax(0,1fr) auto auto}.selection-all-group{grid-column:2;grid-row:1;display:flex!important;gap:8px;align-items:center}.selection-all-check{display:flex;grid-column:auto;grid-row:auto;align-items:center;gap:8px;min-height:46px;padding:8px 12px;border:1px solid #9bbcad;border-radius:10px;background:#fff;color:#176b4d;font-size:13px;font-weight:900;white-space:nowrap;cursor:pointer}.selection-all-check input{width:22px;height:22px;min-width:22px;margin:0;padding:0;accent-color:#176b4d;cursor:pointer}.selection-all-check:has(input:checked),.selection-all-check:has(input:indeterminate){background:#e8f4ed;border-color:#6da88c}.selection-all-check:has(input:focus-visible){outline:3px solid #94c7ae;outline-offset:2px}.selection-all-check:has(input:disabled){opacity:.5;cursor:not-allowed}.sales-detail-grid .photo-copy-panel .primary-copy{grid-column:3;grid-row:1}
.dashboard-export-range{display:flex;align-items:end;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.dashboard-export-range summary{cursor:pointer;color:var(--green);font-weight:800}.dashboard-export-range label{display:grid;gap:3px;font-size:11px;color:var(--muted)}.dashboard-export-range button{white-space:nowrap}
@media(max-width:760px){.sales-detail-grid .photo-copy-panel{grid-template-columns:minmax(0,1fr) auto auto;column-gap:8px}.selection-all-group{gap:4px}.selection-all-check{min-width:76px;min-height:46px;padding:8px 7px;gap:5px;font-size:11px}.selection-all-check input{width:21px;height:21px;min-width:21px}.sales-detail-grid .photo-copy-panel .primary-copy{grid-column:3;grid-row:1;min-width:112px;padding:8px 11px}}

/* v3.52: waiting orders can be removed safely when created by mistake */
.awaiting-order-actions{display:grid;gap:7px;min-width:132px}.awaiting-order-actions button{min-height:42px;padding:8px 11px;border-radius:9px;font-size:12px;font-weight:900;cursor:pointer}.awaiting-order-actions .continue-order{border:1px solid #176b4d;background:#176b4d;color:#fff}.awaiting-order-actions .delete-awaiting-order{border:1px solid #dfaea8;background:#fff7f5;color:#a43e34}.awaiting-order-actions button:disabled{cursor:wait;opacity:.62}.awaiting-order-actions button:focus-visible{outline:3px solid #94c7ae;outline-offset:2px}
@media(max-width:760px){.awaiting-order .awaiting-order-actions{grid-column:2;width:100%;min-width:0}.awaiting-order-actions button{width:100%;min-height:46px;font-size:13px}}

/* v3.54: one-scan customer and FHTZ notice code entry */
.barcode-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid #9fc5b2;border-radius:14px;background:#edf7f1}.barcode-entry>div{display:grid;gap:4px;min-width:0}.barcode-entry b{color:#173c2e;font-size:16px}.barcode-entry span{color:#506d60;font-size:12px;line-height:1.5}.barcode-entry button{min-width:126px;min-height:50px;padding:10px 18px;border:1px solid #176b4d;border-radius:11px;background:#176b4d;color:#fff;font-size:15px;font-weight:900;cursor:pointer}.barcode-entry button:focus-visible{outline:3px solid #94c7ae;outline-offset:2px}.manual-entry-divider{display:flex;align-items:center;gap:12px;margin:2px 0;color:#657a70;font-size:12px;font-weight:800}.manual-entry-divider::before,.manual-entry-divider::after{content:"";height:1px;flex:1;background:#d6e2dc}.manual-entry-divider span{white-space:nowrap}
.barcode-scanner{position:fixed;z-index:1000;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#071a14;color:#fff}.barcode-scanner>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));background:#0d3025}.barcode-scanner>header div{display:grid;gap:2px}.barcode-scanner>header small{color:#b9d8c9;font-size:11px}.barcode-scanner>header h2{margin:0;color:#fff;font-size:22px}.barcode-scanner button{min-height:46px;padding:9px 18px;border:1px solid #8fb9a5;border-radius:10px;background:#fff;color:#174c39;font-size:14px;font-weight:900;cursor:pointer}.barcode-scanner button:focus-visible{outline:3px solid #d9b753;outline-offset:2px}.barcode-camera{position:relative;min-height:280px;overflow:hidden;background:#020906}.barcode-camera video{width:100%;height:100%;object-fit:cover}.barcode-frame{position:absolute;left:50%;right:auto;top:50%;width:min(72vw,260px);height:min(72vw,260px);min-height:0;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.45);border-radius:13px;box-shadow:0 0 0 9999px rgba(2,12,8,.54)}.barcode-frame i{position:absolute;width:34px;height:34px;border-color:#e1c15f;border-style:solid}.barcode-frame i:nth-child(1){top:-2px;left:-2px;border-width:4px 0 0 4px;border-radius:12px 0 0}.barcode-frame i:nth-child(2){top:-2px;right:-2px;border-width:4px 4px 0 0;border-radius:0 12px 0 0}.barcode-frame i:nth-child(3){right:-2px;bottom:-2px;border-width:0 4px 4px 0;border-radius:0 0 12px}.barcode-frame i:nth-child(4){bottom:-2px;left:-2px;border-width:0 0 4px 4px;border-radius:0 0 0 12px}.barcode-scanner>footer{display:grid;gap:7px;padding:16px max(20px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#0d3025;text-align:center}.barcode-scanner>footer b{color:#fff;font-size:16px;line-height:1.45}.barcode-scanner>footer b.warn{color:#f5d572}.barcode-scanner>footer b.error{color:#ffb9af}.barcode-scanner>footer span{color:#bfd4ca;font-size:12px;line-height:1.5}.barcode-scanner>footer button{display:none;margin-top:6px}.barcode-scanner.unsupported .barcode-camera{display:none}.barcode-scanner.unsupported>footer{align-content:center;min-height:260px}.barcode-scanner.unsupported>footer button{display:block;width:100%;margin-top:14px}
@media(max-width:760px){.barcode-entry{grid-template-columns:1fr;padding:15px;gap:11px}.barcode-entry button{width:100%;min-width:0;min-height:52px}.barcode-scanner>header{padding-top:max(16px,env(safe-area-inset-top))}.barcode-scanner>header h2{font-size:20px}.barcode-scanner>header button{padding-inline:15px}.barcode-frame{width:min(76vw,260px);height:min(76vw,260px)}.barcode-scanner>footer{padding-bottom:max(18px,env(safe-area-inset-bottom))}.barcode-scanner>footer b{font-size:15px}}

/* v4.0: scan-first warehouse workflow */
.workflow-mobile-page,.admin-intake-page{max-width:1080px;margin:32px auto 0}.workflow-steps{display:flex;align-items:center;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:#fff}.workflow-steps>div{display:flex;align-items:center;gap:8px;white-space:nowrap}.workflow-steps b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#dfe8e3;color:#607169;font-size:12px}.workflow-steps .done b{background:var(--green);color:#fff}.workflow-steps span{font-size:12px;font-weight:900}.workflow-steps>i{height:1px;flex:1;margin:0 12px;background:#cad8d0}.workflow-scan-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin-top:18px;padding:28px 30px;border-radius:20px;background:var(--dark);color:#fff;box-shadow:0 14px 34px rgba(23,60,46,.16)}.workflow-scan-hero small,.intake-hero small{color:#e6bd5b;font-weight:900}.workflow-scan-hero h2,.intake-hero h2{margin:6px 0;font-size:30px}.workflow-scan-hero p,.intake-hero p{margin:0;color:#c8d8d0;line-height:1.6}.workflow-scan-hero button,.intake-hero>button{min-width:170px;min-height:58px;padding:12px 22px;border:0;border-radius:14px;background:#e7b956;color:var(--dark);font-size:18px;font-weight:900;cursor:pointer}.workflow-manual{margin:12px 0;border:1px solid #cad8d0;border-radius:14px;background:#f7faf8}.workflow-manual summary{padding:15px 18px;color:#53675e;font-size:13px;font-weight:900;cursor:pointer}.workflow-manual-form{display:grid;grid-template-columns:.75fr 1fr 1.4fr auto;gap:10px;align-items:end;padding:0 16px 16px}.workflow-manual-form label{margin:0}.workflow-manual-form input,.workflow-manual-form select{min-height:49px}.workflow-manual-form button,.workflow-section-title button,.intake-pending .section-head button{min-height:49px;padding:10px 18px;border:1px solid var(--green);border-radius:11px;background:#fff;color:var(--green);font-weight:900}.workflow-current{margin-top:22px}.workflow-section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.workflow-section-title small{color:var(--green);font-weight:900}.workflow-section-title h2{margin:5px 0 0}.current-work-card{margin-top:10px;padding:16px;border:2px solid #8ebca5;border-radius:16px;background:#f0f8f3}.current-work-card>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.current-work-card>header b{color:var(--green)}.current-work-card>header span{color:var(--muted);font-size:12px}.workflow-order-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-top:1px solid #d8e3dd}.workflow-order-card:first-child{border-top:0}.workflow-order-card>div{min-width:0}.workflow-order-card span{color:var(--green);font-size:12px;font-weight:900}.workflow-order-card h3{margin:5px 0;font-size:20px;overflow-wrap:anywhere}.workflow-order-card small{color:var(--muted);line-height:1.5}.workflow-order-card button{min-width:150px;min-height:48px;margin:0;padding:10px 16px;border-radius:11px}.workflow-list{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.workflow-list>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;cursor:pointer}.workflow-list>summary span{display:grid;gap:4px}.workflow-list>summary small{color:var(--muted);font-size:11px}.workflow-list>summary em{min-width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--green);font-style:normal;font-weight:900}.workflow-list>div{padding:0 20px 8px;border-top:1px solid var(--line)}.workflow-empty{display:grid;gap:7px;padding:26px;border:1px dashed #c8d6ce;border-radius:14px;background:#f8faf9;color:var(--muted);text-align:center}.workflow-empty b{color:var(--dark)}.workflow-empty.compact{margin:14px 0;padding:18px}.workflow-footnote{padding:20px 10px;color:var(--muted);font-size:11px;line-height:1.6;text-align:center}
.admin-intake-page{display:grid;grid-template-columns:1fr 1fr;gap:20px}.intake-hero{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:30px;background:var(--dark);color:#fff}.intake-manual,.intake-pending{padding:26px}.intake-manual form{display:grid}.intake-pending{max-height:620px;overflow:auto}.intake-order{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.intake-order span{color:var(--green);font-size:11px;font-weight:900}.intake-order h3{margin:5px 0;font-size:17px;overflow-wrap:anywhere}.intake-order small{color:var(--muted);font-size:11px}.danger-link{min-height:42px;padding:8px 11px;border:1px solid #dba9a2;border-radius:9px;background:#fff7f5;color:#9b3e34;font-weight:900}
.sales-workflow-track{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:14px 0}.sales-workflow-track>div{position:relative;display:grid;justify-items:center;gap:6px;color:#7a8881;font-size:10px;font-weight:900;text-align:center}.sales-workflow-track>div::before{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:#d8e1dc}.sales-workflow-track>div:first-child::before{left:50%}.sales-workflow-track>div:last-child::before{right:50%}.sales-workflow-track i{position:relative;z-index:1;width:16px;height:16px;border:3px solid #d8e1dc;border-radius:50%;background:#fff}.sales-workflow-track .done i{border-color:var(--green);background:var(--green)}.sales-workflow-track .active{color:var(--green)}.sales-workflow-track .active i{border-color:var(--green);box-shadow:0 0 0 4px #dcefe4}.workflow-tabs{overflow-x:auto}.workflow-tabs button{min-width:100px}.order-workflow-history{margin:18px 25px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8faf9}.order-workflow-history>.section-head>b{color:var(--green)}.order-workflow-history>div:last-child{margin-top:10px}.order-workflow-history article{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--line)}.order-workflow-history article>i{width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--green)}.order-workflow-history article>div{display:grid;gap:3px}.order-workflow-history article span,.order-workflow-history article small{color:var(--muted);font-size:11px}.workflow-progress-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.progress-flow-mini{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.progress-photo-count{grid-column:1/-1;color:var(--muted);font-size:11px}.dashboard-kpis{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.workflow-mobile-page,.admin-intake-page{margin-top:20px}.workflow-steps{padding:12px 9px}.workflow-steps>div{display:grid;justify-items:center;gap:5px}.workflow-steps span{font-size:9px}.workflow-steps>i{margin:0 4px}.workflow-scan-hero{grid-template-columns:1fr;padding:24px 20px}.workflow-scan-hero h2{font-size:27px}.workflow-scan-hero button{width:100%;min-height:58px}.workflow-manual-form{grid-template-columns:1fr;padding:0 14px 14px}.workflow-manual-form button{width:100%;min-height:52px}.current-work-card>header{display:grid}.workflow-order-card{grid-template-columns:1fr}.workflow-order-card button{width:100%;min-height:52px}.workflow-list>summary{padding:17px}.workflow-list>div{padding:0 16px 7px}.admin-intake-page{display:block}.intake-hero{grid-template-columns:1fr;padding:24px 20px}.intake-hero h2{font-size:27px}.intake-hero>button{width:100%}.intake-manual,.intake-pending{margin-top:14px;padding:18px}.sales-workflow-track{margin:12px -5px}.sales-workflow-track>div{font-size:9px}.workflow-tabs{display:flex}.workflow-tabs button{flex:0 0 90px}.order-workflow-history{margin:14px 16px;padding:14px}.workflow-progress-tabs{display:flex;overflow-x:auto}.workflow-progress-tabs button{flex:0 0 110px}.progress-flow-mini{grid-template-columns:1fr 1fr}.dashboard-kpis{grid-template-columns:1fr}}

/* v4.1: role-safe handoff, readable mobile controls, and admin reassignment */
::selection{background:#cfe8da;color:#102b21}
html{scrollbar-color:#9db9aa #eef3f0}
input,select,textarea{caret-color:var(--green)}
button,[role="button"],summary,label[for]{touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #8bc1a6;outline-offset:2px}
.online{display:inline-flex;align-items:center;gap:7px;font-size:13px}
.online i{width:8px;height:8px;border-radius:50%;background:#1f9d64;box-shadow:0 0 0 3px #dff2e7}
.workflow-role-scope{display:flex;align-items:center;gap:12px;margin:12px 0 0;padding:13px 16px;border:1px solid #c8dcd1;border-radius:13px;background:#f7faf8}
.workflow-role-scope b{flex:0 0 auto;color:var(--green);font-size:14px}
.workflow-role-scope span{color:#435b50;font-size:13px;line-height:1.55}
.sales-query label{min-width:0;margin:0;gap:6px;color:#334b40;font-size:13px}
.sales-query label>span{display:block}
.sales-query input{width:100%}
.progress-row-actions{display:grid;gap:8px;align-self:stretch}
.progress-row-actions>button{width:100%;min-height:44px;border:1px solid #b8cfc4;border-radius:10px;background:#fff;color:#176b4d;font-weight:900}
.assignment-panel{min-width:250px;border:1px solid #d4ded9;border-radius:11px;background:#f8faf9}
.assignment-panel>summary{padding:11px 12px;color:#465e52;font-size:12px;font-weight:900;cursor:pointer}
.assignment-panel>div{display:grid;gap:10px;padding:0 12px 12px}
.assignment-panel p{margin:0;color:#53675d;font-size:12px;line-height:1.5}
.assignment-panel label{margin:0;color:#334a3f;font-size:12px}
.assignment-panel input,.assignment-panel select{width:100%;min-height:42px;padding:9px 10px;border:1px solid #c3d2ca;border-radius:9px;background:#fff}
.assignment-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.assignment-actions button{min-height:43px;border-radius:9px;font-weight:900}
.assignment-actions .release{border:1px solid #d9aca6;background:#fff7f5;color:#983f35}
.assignment-actions .reassign{border:1px solid var(--green);background:var(--green);color:#fff}
.assignment-warning{color:#8d4a33;font-size:12px;line-height:1.5}
.workflow-order-card h3,.progress-order-main h3,.sales-order-item h2,.intake-order h3{font-variant-numeric:tabular-nums}
.workflow-footnote{font-size:13px}

@media(max-width:760px){
  .online{padding:9px 11px!important;font-size:14px!important;white-space:nowrap}
  .workflow-role-scope{align-items:flex-start;flex-direction:column;gap:4px;padding:13px 14px}
  .workflow-role-scope b,.workflow-role-scope span{font-size:14px}
  .workflow-steps span{font-size:11px;line-height:1.25;text-align:center}
  .workflow-order-card span,.workflow-order-card small,.current-work-card>header span,.workflow-list>summary small{font-size:14px}
  .workflow-order-card h3{font-size:20px}
  .workflow-manual summary,.workflow-manual-form label,.workflow-footnote{font-size:14px}
  .sales-query{grid-template-columns:minmax(0,1fr) auto}
  .sales-query label{font-size:14px}
  .sales-query .sales-date-filter{grid-column:1;grid-row:2}
  .sales-query button[data-sales-refresh]{grid-column:2;grid-row:1/3;min-width:76px}
  .sales-status-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important}
  .sales-status-tabs button{min-width:0!important;min-height:56px;flex:auto!important;border-bottom:1px solid #e0e8e3}
  .sales-status-tabs button:nth-child(2n){border-right:0}
  .sales-status-tabs button b,.sales-status-tabs button span{font-size:14px}
  .sales-order-item header p,.sales-order-item time,.sales-order-item>footer>div,.sales-page-note,.sales-result-head span{font-size:13px}
  .sales-order-stages b,.sales-order-stages small,.sales-status{font-size:13px}
  .progress-order-main>span,.progress-order-main p,.progress-status b,.progress-status small,.progress-stage b,.progress-stage small,.progress-result-head span{font-size:13px}
  .progress-row-actions{grid-column:1/-1}
  .assignment-panel{min-width:0;width:100%}
  .assignment-panel>summary,.assignment-panel p,.assignment-panel label,.assignment-warning{font-size:14px}
  .assignment-actions{grid-template-columns:1fr}
  .mobile-nav button{font-size:12px;line-height:1.2}
  .mobile-nav button>span{display:none}

  /* 管理端五个未完成环节在手机上一屏完整换行，避免横向滑动时误以为状态缺失。 */
  .progress-overview .progress-status-tabs.workflow-progress-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible!important;
    scroll-snap-type:none;
  }
  .progress-overview .progress-status-tabs.workflow-progress-tabs button{
    min-width:0!important;
    min-height:64px;
    flex:auto!important;
    padding:11px 12px;
    border-bottom:1px solid #e0e8e3;
    scroll-snap-align:none;
  }
  .progress-overview .progress-status-tabs.workflow-progress-tabs button:nth-child(2n){border-right:0}
  .progress-overview .progress-status-tabs.workflow-progress-tabs button:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
  .progress-overview .progress-status-tabs.workflow-progress-tabs button strong{font-size:20px}
  .progress-overview .progress-status-tabs.workflow-progress-tabs button span{font-size:13px}
}

/* v4.1 legacy queue quarantine: old anonymous photos must be explicitly verified. */
.legacy-queue-review{margin-top:14px;padding:17px;border:1px solid #d8b56e;border-radius:14px;background:#fff9eb;color:#553d13}
.legacy-queue-review>header div{display:grid;gap:4px}
.legacy-queue-review>header b{font-size:16px}
.legacy-queue-review>header span{color:#674f27;font-size:13px;line-height:1.55}
.legacy-queue-review article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #e8d6ae}
.legacy-queue-review article:first-of-type{margin-top:12px}
.legacy-queue-review article>div{display:grid;gap:3px;min-width:0}
.legacy-queue-review article span,.legacy-queue-review article small{color:#674f27;font-size:13px}
.legacy-queue-review article strong{overflow-wrap:anywhere;font-size:16px}
.legacy-queue-review nav{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.legacy-queue-review button{min-height:44px;padding:8px 12px;border:1px solid #7ea992;border-radius:9px;background:#fff;color:#176b4d;font-weight:900}
.legacy-audit-log{margin-top:10px;border:1px solid #dce7e1;border-radius:12px;background:#fff}
.legacy-audit-log>summary{min-height:44px;padding:12px 14px;color:#315c4c;font-weight:800;cursor:pointer}
.legacy-audit-log>div{padding:0 14px 8px}
.legacy-audit-log article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 0;border-top:1px solid #e7eee9}
.legacy-audit-log article>div{display:grid;gap:3px;min-width:0}
.legacy-audit-log article b{overflow-wrap:anywhere;font-size:14px}
.legacy-audit-log article span,.legacy-audit-log time{color:#66766f;font-size:13px;line-height:1.45}
.central-audit-card{padding:0;overflow:hidden}
.central-audit-card>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:17px 20px;cursor:pointer;list-style:none}
.central-audit-card>summary::-webkit-details-marker{display:none}
.central-audit-card>summary span{display:grid;gap:3px}
.central-audit-card>summary small{color:#64736c;font-size:13px}
.central-audit-card>summary b{font-size:19px}
.central-audit-card>summary em{min-width:58px;padding:8px 11px;border-radius:999px;background:#edf6f1;color:#176b4d;font-style:normal;font-weight:900;text-align:center}
.central-audit-card>div{padding:0 20px 12px}
.central-audit-card article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:13px 0;border-top:1px solid #e4ebe7}
.central-audit-card article>div{display:grid;gap:4px;min-width:0}
.central-audit-card article b{overflow-wrap:anywhere;font-size:14px}
.central-audit-card article span,.central-audit-card article time{color:#64736c;font-size:13px;line-height:1.45}

@media(max-width:760px){
  .workflow-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
  .workflow-steps>i{display:none}
  .workflow-steps>div{grid-template-columns:28px minmax(0,1fr);justify-items:start;align-items:center;padding:8px;border:1px solid #e0e8e3;border-radius:10px;background:#f8faf9}
  .workflow-steps span{font-size:14px;line-height:1.3;text-align:left}
  .sales-order-item header p,.sales-order-item time,.sales-order-item>footer>div,.sales-page-note,.sales-result-head span{font-size:14px}
  .sales-order-stages b,.sales-order-stages small,.sales-status{font-size:14px}
  .progress-order-main>span,.progress-order-main p,.progress-status b,.progress-status small,.progress-stage b,.progress-stage small,.progress-result-head span{font-size:14px}
  .progress-overview .progress-status-tabs.workflow-progress-tabs button span{font-size:14px}
  .legacy-queue-review{padding:14px}
  .legacy-queue-review article{grid-template-columns:1fr}
  .legacy-queue-review article span,.legacy-queue-review article small,.legacy-queue-review>header span{font-size:14px}
  .legacy-queue-review nav{grid-template-columns:1fr}
  .legacy-queue-review button{font-size:14px}
  .legacy-audit-log article{grid-template-columns:1fr}
  .legacy-audit-log article span,.legacy-audit-log time{font-size:14px}
  .central-audit-card article{grid-template-columns:1fr}
  .central-audit-card article span,.central-audit-card article time{font-size:14px}
}
/* Warehouse managers need every primary destination visible on narrow screens. */
.pending-delete-body{padding:20px 24px 24px;font-size:16px;line-height:1.6}
.pending-delete-body p{margin:0;overflow-wrap:anywhere}
.pending-delete-dialog .reset-actions button{font-size:16px}
@media(max-width:760px){
  .mobile-nav.admin-nav.manager-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:auto;min-height:102px;overflow:visible;gap:2px;padding:6px 4px;padding-bottom:max(6px,env(safe-area-inset-bottom))}
  .mobile-nav.admin-nav.manager-nav button{min-width:0;width:100%;min-height:44px;font-size:14px}
  .shell:has(.manager-nav) .workspace{padding-bottom:130px}
  .workflow-order-card{flex-wrap:wrap}
  .photo-wait-reason{flex-basis:100%;line-height:1.6;color:#155b41}
}
.progress-overview .progress-status-tabs.progress-today-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;background:#edf6f0;border-bottom:1px solid #cbded2}
.progress-overview .progress-today-tabs button{min-width:0;min-height:94px;padding:16px;color:#124d38}
.progress-overview .progress-today-tabs button strong{font-size:32px}
.progress-overview .progress-today-tabs button span{font-size:16px}
.progress-scope-note{margin:0;padding:14px 20px;color:#466052;font-size:14px;line-height:1.6}
@media(max-width:760px){
  .progress-overview .progress-status-tabs.progress-today-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .progress-overview .progress-today-tabs button[data-progress-filter="unfinished"]{grid-column:1/-1;border-top:1px solid #cbded2}
}

/* Shared status filters in sales and office order search. */
.sales-order-item h2.sales-customer-code{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin:0;color:var(--dark);font-size:28px;font-weight:900;line-height:1.3;overflow-wrap:anywhere}
.sales-customer-code>span,.sales-document-code>span{flex:none;color:var(--muted);font-size:14px;font-weight:400}
.sales-order-item header .sales-customer-name{margin-top:5px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.sales-order-secondary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:12px}
.sales-order-item header .sales-document-code{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0;color:var(--dark);line-height:1.5}
.sales-document-code strong{min-width:0;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sales-order-secondary .sales-status{flex:none;font-size:14px;line-height:1.4}
.sales-order-item time{font-size:14px;line-height:1.5}
@media(max-width:760px){
  .sales-order-item>header{flex-direction:column;gap:10px}
  .sales-order-identity{width:100%}
  .sales-order-item h2.sales-customer-code{font-size:26px}
  .sales-order-item time{max-width:none;text-align:left}
}
.sales-status-tabs.workflow-tabs{grid-template-columns:repeat(7,minmax(0,1fr))}
.search-status-tabs{margin:16px 0 4px;border:1px solid #dce5df;border-radius:12px;overflow:hidden}
.search-status-tabs button{min-width:0;min-height:60px}
.search-box .search-clear{background:#eef4f0;color:#176b4d;border:1px solid #adcbbb;white-space:nowrap}
@media(max-width:760px){
  .sales-status-tabs.workflow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .search-card .search-box{flex-wrap:wrap}
  .search-card .search-box input{flex:1 1 120px;min-width:0}
  .search-box .search-clear{min-height:44px}
}

/* Account management: grouped lists with a separate editor. */
.accounts-workbench{max-width:1180px;margin:28px auto;display:grid;gap:24px;min-width:0}
.accounts-create-section,.accounts-directory,.account-editor{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;min-width:0}
.accounts-workbench h2{font-size:22px;margin:0 0 18px;color:var(--dark)}
.accounts-create-form,.account-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.accounts-workbench label{display:grid;gap:8px;margin:0;font-size:14px;font-weight:700;color:var(--dark);min-width:0}
.accounts-workbench input,.accounts-workbench select{width:100%;min-width:0;min-height:46px;margin:0;font-size:16px;padding:11px 12px}
.accounts-create-submit{grid-column:1/-1;display:flex;justify-content:flex-end}
.accounts-workbench button{min-height:44px;cursor:pointer;font-size:14px}
.accounts-create-submit button,.account-editor>.primary{min-width:140px;margin:0;padding:12px 24px;border-radius:10px}
.accounts-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.accounts-section-head h2{margin:0 0 6px}
.accounts-section-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.accounts-section-head>button,.account-editor-action>button,.account-editor-section form>button{border:1px solid #aec6b9;background:#fff;color:var(--green);padding:10px 16px;border-radius:10px;flex-shrink:0}
.account-department+ .account-department{margin-top:28px}
.account-department>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:2px solid #d2dfd7}
.account-department h3{font-size:18px;margin:0;color:var(--dark);overflow-wrap:anywhere}
.account-department>header>span,.account-group h4>span{color:var(--muted);font-size:14px;font-weight:400;white-space:nowrap}
.account-group h4{display:flex;align-items:baseline;gap:12px;margin:18px 0 10px;font-size:16px;color:var(--green);overflow-wrap:anywhere}
.account-table{border-collapse:collapse;width:100%;table-layout:fixed;text-align:left}
.account-table th{font-size:14px;color:#50685b;background:#f2f6f3;font-weight:600;padding:12px 8px}
.account-table td{font-size:14px;padding:12px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;line-height:1.5}
.account-table th:nth-child(3){width:16%}
.account-table th:last-child{width:112px}
.account-table tbody tr{cursor:pointer}
.account-table tbody tr:hover,.account-table tbody tr:focus-within{background:#f0f7f2}
.account-table .account-open{padding:0;border:0;background:transparent;color:var(--green);font-weight:700;text-align:left;overflow-wrap:anywhere;width:100%}
.account-password-status{color:var(--muted)}
.accounts-workbench .account-active-switch{display:inline-flex;align-items:center;gap:7px;border:0;padding:0;background:transparent;color:#54665b;white-space:nowrap}
.account-active-switch i{display:inline-block;position:relative;width:32px;height:20px;border-radius:10px;background:#7b8981;flex:none}
.account-active-switch i:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;background:#fff;border-radius:50%}
.accounts-workbench .account-active-switch[aria-checked="true"]{color:var(--green)}
.account-active-switch[aria-checked="true"] i{background:var(--green)}
.account-active-switch[aria-checked="true"] i:after{left:15px}
.accounts-workbench button:disabled{opacity:.6;cursor:not-allowed}
.accounts-workbench button:focus-visible,.accounts-workbench input:focus-visible,.accounts-workbench select:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.accounts-password-note,.accounts-empty{font-size:14px;color:var(--muted);line-height:1.6;margin:20px 0 0}
.accounts-import{border-top:1px solid var(--line);padding:16px 0;color:var(--muted);font-size:14px}
.accounts-import summary{cursor:pointer;color:var(--green);font-weight:700;min-height:44px;display:flex;align-items:center}
.accounts-import .import-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-start}
.account-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 0}
.account-editor input[readonly]{background:#f2f5f3;color:#50685b}
.account-editor-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.account-editor-section h3{font-size:18px;margin:0 0 16px}
.account-editor-action,.account-editor-section form{display:flex;gap:16px;align-items:flex-end;max-width:600px}
.account-editor-action>label,.account-editor-section form>label{flex:1}
.account-delete-section>p{max-width:70ch;font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 16px}
.accounts-workbench .account-delete-button{background:#fff;border:1px solid #b62d27;color:#a02c26;border-radius:10px;padding:10px 18px}
.accounts-workbench .account-delete-button:hover:not(:disabled){background:#fff0ee}
.account-editor-section .account-delete-confirm{display:block;max-width:700px;margin:18px 0 0;padding:16px;background:#fff4f2;border:1px solid #deaaa5;border-radius:12px}
.account-delete-confirm strong{display:block;overflow-wrap:anywhere;color:#752c26;font-size:16px;line-height:1.6}
.account-delete-error{color:#a02c26;font-size:14px;line-height:1.6;margin:12px 0}
.account-delete-error:empty{display:none}
.account-delete-confirm>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:16px}
.account-delete-confirm button{border:1px solid #aec6b9;background:#fff;color:var(--green);padding:10px 18px;border-radius:10px}
.accounts-workbench .account-delete-confirm .account-delete-button{background:#a02c26;border-color:#a02c26;color:#fff}
.accounts-workbench .account-delete-confirm .account-delete-button:hover:not(:disabled){background:#86221d}
@media(max-width:1000px){.accounts-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-create-section,.accounts-directory,.account-editor{padding:20px}}
@media(max-width:760px){
 .accounts-workbench{margin:20px 0;gap:18px}
 .accounts-create-section,.accounts-directory,.account-editor{padding:16px}
 .accounts-create-form,.account-editor-grid{grid-template-columns:1fr;gap:14px}
 .accounts-create-submit button{width:100%}
 .accounts-section-head{align-items:flex-start;flex-wrap:wrap}
 .account-table,.account-table tbody{display:block;width:100%}
 .account-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .account-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:14px 0;border-bottom:1px solid var(--line)}
 .account-table td{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:0;border:0;font-size:15px}
 .account-table td:before{content:attr(data-label);color:var(--muted);font-size:14px;margin-bottom:3px}
 .account-table td:nth-child(3){grid-column:1/-1;grid-row:2}
 .account-table td:last-child{flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}
 .account-table td:last-child:before{display:none}
 .account-table .account-open{min-height:28px}
 .account-editor-action,.account-editor-section form{align-items:stretch;flex-direction:column;gap:12px}
}

/* Customer binding: three fields linked to the sales account directory. */
.binding-create-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(260px,2fr);gap:16px}
.binding-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px}
.binding-form-actions button{min-width:100px;margin:0;padding:10px 20px;border:1px solid #aec6b9;border-radius:10px;background:#fff;color:var(--green)}
.binding-form-actions button.primary{width:auto;background:var(--green);color:#fff}
.binding-source-note{margin:16px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.binding-list-search{max-width:480px;margin-bottom:20px!important}
.bindings-workbench #binding-result-count{font-size:14px;color:var(--muted);white-space:nowrap}
.binding-table{table-layout:fixed;border-collapse:collapse;width:100%;text-align:left}
.binding-table th{padding:12px;font-size:14px;background:#f2f6f3;color:#50685b}
.binding-table th:first-child{width:25%}.binding-table th:nth-child(2){width:22%}
.binding-table td{padding:12px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.binding-table tr[data-binding-row]{cursor:pointer}
.binding-table tr[data-binding-row]:hover,.binding-table tr[data-binding-row]:focus-within{background:#f0f7f2}
.binding-table .binding-code{border:0;background:transparent;color:var(--green);font-weight:700;padding:0;text-align:left;overflow-wrap:anywhere;width:100%}
.binding-table tr[hidden]{display:none!important}
@media(max-width:1000px){.binding-create-form{grid-template-columns:1fr 1fr}.binding-create-form>label:last-of-type{grid-column:1/-1}}
@media(max-width:760px){
 .binding-create-form{grid-template-columns:1fr}
 .binding-form-actions{justify-content:stretch}.binding-form-actions .primary{flex:1}
 .binding-table,.binding-table tbody{display:block;width:100%}
 .binding-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .binding-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
 .binding-table td{padding:0;border:0;min-width:0}
 .binding-table td:nth-child(3){grid-column:1/-1;color:#50685b;font-size:14px}
 .binding-table td:nth-child(3):before{content:"对接对象："}
}
.handled-period-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 10px}
.handled-period-tabs button{min-width:0;min-height:56px;padding:10px 8px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:#f3f7f4;color:var(--dark);font:inherit;font-weight:700;cursor:pointer}
.handled-period-tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}
.handled-period-tabs button b{font-variant-numeric:tabular-nums}
.handled-period-tabs button:disabled,.handled-more:disabled{opacity:.65;cursor:wait}
.handled-period-note{font-size:12px;color:#52675b;line-height:1.6;margin:0 0 16px}
.handled-more{display:block;min-height:48px;width:100%;margin-top:16px;border:1px solid var(--line);border-radius:10px;background:#f3f7f4;color:var(--green);font:inherit;font-weight:700;cursor:pointer}
@media(max-width:760px){.handled-period-tabs{gap:5px}.handled-period-tabs button{flex-direction:column;gap:4px;font-size:13px}}
.organization-structure{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
.organization-structure h2{margin:0;font-size:20px;color:var(--dark)}
.organization-structure>p{font-size:13px;line-height:1.7;color:var(--muted);margin:8px 0 16px}
.organization-tree{list-style:none;padding:0;margin:0 0 20px;border-top:1px solid var(--line)}
.organization-tree li{display:grid;grid-template-columns:minmax(110px,1fr) 3fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.organization-tree strong{color:var(--dark)}
.organization-tree span{color:#52675b;line-height:1.6}
.organization-forms{display:grid;grid-template-columns:1fr 2fr;gap:24px}
.organization-forms form{display:flex;align-items:end;gap:10px;min-width:0}
.organization-forms label{display:grid;gap:7px;flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--dark)}
.organization-forms input,.organization-forms select,.account-editor-grid select{min-width:0;width:100%;min-height:46px;padding:10px 12px;background:#fff;border:1px solid #bdcdc3;border-radius:10px;color:var(--dark);font:inherit}
.organization-forms button{min-height:46px;white-space:nowrap;padding:10px 16px;border:1px solid var(--green);border-radius:10px;background:var(--green);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.organization-forms button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:760px){.organization-structure{padding:18px}.organization-forms{grid-template-columns:1fr;gap:18px}.organization-forms form{flex-wrap:wrap}.organization-forms label{flex-basis:100%}.organization-forms button{width:100%}.organization-tree li{grid-template-columns:1fr;gap:5px}.organization-forms input,.organization-forms select{font-size:16px}}
.organization-tree>li{display:block}
.organization-unit{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:5px 0}
.organization-unit>strong,.organization-unit>span{min-width:0;overflow-wrap:anywhere}
.organization-groups{margin:5px 0 0 20px}
.organization-row-actions{display:flex;gap:8px;flex-shrink:0}
.organization-row-actions button{border:1px solid #bdcdc3;border-radius:8px;background:#fff;color:var(--green);min-height:40px;padding:7px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.organization-row-actions button[data-organization-action="delete"]{color:#a52f2f;border-color:#dfc6c6}
.organization-change{display:grid;gap:10px;margin:12px 0;padding:16px;background:#f3f7f4;border:1px solid #bdcdc3;border-radius:10px}
.organization-change>label{display:grid;gap:6px;font-size:13px;font-weight:700}
.organization-change input{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #bdcdc3;border-radius:8px;font:inherit;background:#fff}
.organization-change p{margin:0;font-size:13px;line-height:1.7;color:#52675b}
.organization-change .organization-change-error{color:#a52f2f}
.organization-change-error:empty{display:none}
.organization-change>div{display:flex;gap:10px}
.organization-change button{min-height:44px;padding:10px 18px;border:1px solid var(--green);border-radius:8px;background:#fff;color:var(--green);font:inherit;font-weight:700;cursor:pointer}
.organization-change button[type="submit"]{background:var(--green);color:#fff}
.organization-change button.organization-confirm-delete{background:#a52f2f;border-color:#a52f2f}
.organization-tree button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.organization-groups{margin-left:12px}.organization-row-actions{gap:5px}.organization-row-actions button{min-height:44px;padding:8px 10px}.organization-change{padding:12px}.organization-change input{font-size:16px}.organization-change>div button{flex:1}}
.binding-table th:first-child{width:22%}.binding-table th:nth-child(2){width:18%}.binding-table th:last-child{width:150px}
.binding-row-actions{white-space:nowrap}
.binding-row-actions button{min-height:42px;padding:8px 12px;border:1px solid #bdcdc3;border-radius:8px;background:#fff;color:var(--green);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.binding-row-actions button+button{margin-left:8px}
.binding-row-actions button[data-delete-binding]{color:#a52f2f;border-color:#dfc6c6}
.binding-delete-confirm{display:grid;gap:10px;padding:16px;border:1px solid #dfc6c6;border-radius:10px;background:#fff8f7;white-space:normal}
.binding-delete-confirm p{margin:0;line-height:1.7;font-size:13px;color:#52675b}
.binding-delete-confirm .binding-delete-error{color:#a52f2f}
.binding-delete-error:empty{display:none}
.binding-delete-confirm>div{display:flex;gap:10px}
.binding-delete-confirm button{min-height:44px;padding:10px 18px;border:1px solid #bdcdc3;border-radius:8px;background:#fff;color:var(--green);font:inherit;font-weight:700;cursor:pointer}
.binding-delete-confirm button[data-confirm-binding-delete]{border-color:#a52f2f;background:#a52f2f;color:#fff}
.binding-delete-confirm button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.binding-table .binding-row-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;white-space:normal}.binding-row-actions button{min-height:44px}.binding-row-actions button+button{margin-left:0}.binding-table .binding-delete-row:not([hidden]){display:block}.binding-delete-row td{display:block;width:100%}.binding-delete-confirm{padding:12px}.binding-delete-confirm>div button{flex:1}}
.sidebar nav button svg{width:22px;height:22px;flex-shrink:0}.sidebar nav button .nav-label{display:inline}
.role-profile,.role-management{max-width:720px;margin:28px auto}.role-profile h2{font-size:30px;margin-bottom:8px}.role-profile p,.role-management>p{color:var(--muted);line-height:1.6}.profile-links{margin-top:26px;border-top:1px solid var(--line)}.profile-links>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:76px;padding:18px 0;gap:16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;font-size:17px;font-weight:700;color:var(--dark)}.profile-links>button span{font-size:13px;font-weight:400;color:var(--muted)}
.manager-document-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.manager-document-action p{color:var(--muted)}.manager-document-action button{display:flex;align-items:center;gap:8px;min-height:48px}.manager-document-action svg{width:20px;height:20px}
.scan-purpose-sheet{position:fixed;inset:auto 0 0;width:min(100%,520px);max-height:85dvh;margin:0 auto;padding:26px 24px max(24px,env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0;background:#fff;color:var(--dark)}.scan-purpose-sheet::backdrop{background:rgba(8,24,17,.45)}.scan-purpose-sheet h2{margin:0;font-size:25px}.scan-purpose-sheet>p{color:var(--muted);margin:10px 0 22px}.scan-purpose-sheet>button{display:flex;align-items:center;gap:16px;width:100%;min-height:76px;margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f4f8f5;text-align:left;color:var(--dark)}.scan-purpose-sheet svg{width:28px;height:28px;flex-shrink:0}.scan-purpose-sheet b{display:block;font-size:19px}.scan-purpose-sheet small{display:block;margin-top:6px;font-size:14px;color:var(--muted)}.scan-purpose-sheet>button[data-purpose-cancel]{justify-content:center;min-height:48px;background:#fff}.scan-purpose-sheet button:disabled{opacity:.45}
@media(max-width:760px){
 .shell .workspace{padding:20px 18px calc(100px + env(safe-area-inset-bottom))!important}.shell .workspace>header{margin:0;padding:0 2px 4px}.shell .workspace>header h1{font-size:27px;line-height:1.2}.shell .workspace>header small{font-size:12px}
 .shell .mobile-nav.role-navigation{display:flex!important;position:fixed;height:80px;min-height:80px;left:0;right:0;bottom:0;padding:5px 8px max(5px,env(safe-area-inset-bottom));gap:4px;overflow:visible;background:#fff;border-top:1px solid #dde7e1;box-shadow:none;z-index:30}
 .shell .mobile-nav.role-navigation button{display:flex!important;flex:1;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:60px;width:auto;padding:6px 2px;gap:5px;border-radius:14px;font-size:12px;color:#62766b}
 .shell .mobile-nav.role-navigation button>svg{display:block!important;width:24px;height:24px}.shell .mobile-nav.role-navigation button>.nav-label{display:block!important;font-size:12px;line-height:1.25;font-weight:600}
 .shell .mobile-nav.role-navigation button.active{background:#e8f3ed;color:#176b4d}.shell .mobile-nav.role-navigation button.nav-scan{flex:1;background:transparent}.shell .mobile-nav.role-navigation .nav-scan svg{width:50px;height:50px;padding:12px;border-radius:16px;background:#efbc48;color:#123e30}.shell .mobile-nav.role-navigation .nav-scan .nav-label{display:none!important}
 .app-office-shell .mobile-nav.role-navigation{padding-bottom:5px}.app-office-shell .workspace{padding-bottom:100px!important}
 .profile-links>button{align-items:flex-start;flex-direction:column;gap:8px}.manager-document-action{align-items:flex-start}.manager-document-action p{max-width:52%;font-size:14px;line-height:1.5}.manager-document-action button{white-space:nowrap}
 .role-sales .workspace>header small{color:#516b63}.role-sales .sales-my-workbench{margin-top:14px}.role-sales .sales-order-item h2{font-size:25px}.role-sales .sales-scope{padding:0}.role-sales .sales-scope h2{font-size:18px}
 .role-warehouse_manager .progress-overview,.role-admin .progress-overview{margin-top:18px;border-radius:16px}.role-warehouse_manager .daily-volume-summary,.role-admin .daily-volume-summary{gap:10px}
}
@media(min-width:761px){.app-office-shell .mobile-nav.role-navigation{display:flex;justify-content:center;height:80px;padding:6px 20px;box-shadow:none}.app-office-shell .mobile-nav.role-navigation button{max-width:160px}.app-office-shell .mobile-nav.role-navigation svg{width:24px;height:24px}.app-office-shell .mobile-nav.role-navigation .nav-label{display:block!important;font-size:13px}.app-office-shell .mobile-nav.role-navigation .nav-scan svg{width:48px;height:48px;padding:12px;background:#efbc48;border-radius:16px}.app-office-shell .mobile-nav.role-navigation .nav-scan .nav-label{display:none!important}}
.role-warehouse_manager .progress-today-tabs button:nth-child(3){grid-column:1/-1;grid-row:1;background:#173c2e;color:#fff}.role-warehouse_manager .progress-today-tabs button:nth-child(3) strong{font-size:42px}.role-warehouse_manager .progress-today-tabs button:nth-child(1),.role-warehouse_manager .progress-today-tabs button:nth-child(2){grid-row:2;grid-column:auto}.role-warehouse_manager .progress-overview>header p{max-width:34em}
.role-warehouse_manager .progress-today-tabs button:nth-child(3) strong,.role-warehouse_manager .progress-today-tabs button:nth-child(3) span{color:#fff!important}
.sales-compact-status{display:none}
@media(max-width:760px){
 .role-sales .sales-filter-bar .sales-status-tabs{display:none!important}.role-sales .sales-compact-status{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:10px;padding:0 14px 14px;font-size:14px;color:var(--muted);margin:0}.role-sales .sales-compact-status select{min-height:48px;margin:0;font-size:15px}
 .role-sales .sales-query{display:grid!important;grid-template-columns:minmax(0,1fr) 70px!important;gap:10px;padding:14px}.role-sales .sales-query .sales-code-filter{grid-column:1;grid-row:1;margin:0;min-width:0}.role-sales .sales-query .sales-code-filter>span{display:none}.role-sales .sales-query .sales-code-filter input{width:100%;height:48px;min-height:48px;font-size:15px;padding:10px}
 .role-sales .sales-query .sales-date-filter{display:flex;grid-column:1/-1;grid-row:2;align-items:center;gap:10px;margin:0}.role-sales .sales-query .sales-date-filter>span{min-width:74px;font-size:14px}.role-sales .sales-query .sales-date-filter input{flex:1;min-width:0;min-height:48px;height:48px;margin:0;font-size:15px}
 .role-sales .sales-query button[data-sales-refresh]{grid-column:2!important;grid-row:1!important;min-height:48px;height:48px;align-self:center;padding:8px;font-size:15px}.role-sales .sales-query .clear{grid-column:1/-1;grid-row:3;min-height:44px}
 .role-sales .sales-scope p{font-size:13px;margin:4px 0 0}.role-sales .sales-scope h2{display:none}.role-sales .sales-order-item header time{font-size:12px}.role-sales .sales-order-item{padding:18px 0}
 .shell .mobile-nav.role-navigation{height:84px;min-height:84px}.shell .mobile-nav.role-navigation button.nav-scan{gap:2px}.shell .mobile-nav.role-navigation .nav-scan svg{width:40px;height:40px;padding:9px;border-radius:13px}.shell .mobile-nav.role-navigation .nav-scan .nav-label{display:block!important;font-size:12px}
}
html.keyboard-open .shell .mobile-nav.role-navigation{display:none!important}html.keyboard-open .shell .workspace{padding-bottom:24px!important}
/* Team backlog is informational; it has no drill-down interaction. */
.team-data { margin-top: 28px; }
.team-data > .dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sales-order-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding:10px 24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.5}
.sales-order-meta>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.sales-order-meta .sales-summary-status{font-size:14px;line-height:1.5}
.sales-order-meta time{font-size:14px;color:var(--muted)}
@media(max-width:760px){.sales-order-meta{padding:9px 14px;gap:4px 14px}}

.desktop-copy-help{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:#315746}.desktop-copy-help>span{flex-basis:100%}.desktop-copy-help>a{color:#176b4d;text-decoration:underline}.desktop-copy-help>button{min-height:40px}.copy-single-photo{width:100%;min-height:42px;margin-top:6px;color:#176b4d;background:#fff;border:1px solid #a9c4b6;border-radius:8px}
.department-progress{padding:24px;border-top:1px solid #dbe6e0}
.department-progress h3{margin:0 0 8px;color:#173c2e;font-size:18px}
.department-progress p{margin:0 0 16px;color:#52685b;font-size:14px;line-height:1.6}
.department-progress table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.department-progress th,.department-progress td{padding:13px 10px;border-bottom:1px solid #e0e8e3;text-align:right;overflow-wrap:anywhere}
.department-progress th:first-child{width:32%;text-align:left}
.department-progress thead{background:#f7faf8;color:#52685b}
.department-progress tbody th{font-weight:600;color:#173c2e}
.department-progress tfoot{background:#edf6f0;font-weight:700;color:#173c2e}
.department-progress-empty{padding:18px 0;color:#52685b;font-size:14px;line-height:1.6}
@media(max-width:760px){.department-progress{padding:18px 16px}.department-progress th,.department-progress td{padding:12px 6px}.department-progress th:first-child{width:28%}}
.sales-current-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--line)}
.sales-current-progress h2{margin:0;color:var(--dark);font-size:30px;line-height:1.3}
.sales-current-progress p{margin:6px 0 0;color:var(--muted);font-size:14px}
.sales-current-progress button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green);font-weight:700;flex-shrink:0}
.sales-order-info{margin:24px;padding-top:24px;border-top:1px solid var(--line)}
.sales-order-info h2{margin:0 0 16px;font-size:18px}
.sales-order-info dl{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:0}
.sales-order-info dl>div{min-width:0}
.sales-order-info dt{color:var(--muted);font-size:14px}
.sales-order-info dd{margin:4px 0 0;color:var(--dark);font-size:16px;overflow-wrap:anywhere}
.sales-order-identity .sales-current-label{margin-bottom:12px;font-size:20px}
.sales-detail-grid .photo-copy-panel{position:static}
@media(max-width:760px){.sales-current-progress{padding:20px 14px;align-items:flex-start}.sales-current-progress h2{font-size:26px}.sales-current-progress button{max-width:45%;white-space:normal}.sales-order-info{margin:20px 14px;padding-top:20px}.sales-order-info dl{grid-template-columns:1fr}.sales-detail-grid .photo-copy-panel{grid-template-columns:1fr 1fr}.sales-detail-grid .photo-copy-panel .selection-all-group{grid-column:1/-1;grid-row:2;flex-wrap:wrap}.sales-detail-grid .photo-copy-panel .primary-copy{grid-column:2;grid-row:1;min-width:0}.sales-detail-grid .selection-all-check{flex:1;min-width:0;white-space:normal;font-size:14px}}
.sales-detail-grid .gallery .section-head>div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.sales-detail-grid .gallery .section-head h2{margin:0;font-size:20px}
.sales-gallery-count{color:var(--muted);font-size:14px;white-space:nowrap}
@media(max-width:760px){.sales-detail-grid .gallery .section-head{flex-wrap:wrap}.sales-detail-grid .gallery .section-head>div:first-child{flex:1 0 100%}.sales-detail-grid .gallery-actions>span{font-size:14px}}

/* Photo text entry stays operable after returning from the iOS camera. */
.quick-text-line>label{display:block;margin:0;font-weight:700}.quick-text-line>span>button{min-height:44px;padding:8px 12px}.quick-text-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.quick-text-actions>button{min-height:44px;padding:8px 14px;border:1px solid #b8d2c3;border-radius:10px;background:#fff;color:var(--green);font-weight:700}.quick-text-actions>[data-add-photo-text]{background:var(--green);border-color:var(--green);color:#fff}.quick-text-line input:focus-visible,.quick-text-line button:focus-visible{outline:2px solid var(--green);outline-offset:3px}#inline-photo-editor,#order-sheet-photo-editor,#history-photo-editor{scroll-margin-top:calc(16px + env(safe-area-inset-top))}

/* Apple web camera: fullscreen capture and local annotation without the system confirmation page. */
body.web-photo-camera-open{position:fixed;width:100%;overflow:hidden;overscroll-behavior:none}
.web-photo-camera{position:fixed;inset:0;z-index:1400;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);background:#08140f;color:#fff;isolation:isolate}
.web-photo-camera [hidden]{display:none!important}
.web-photo-camera>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:#143c2d}
.web-photo-camera>header>div{min-width:0}.web-photo-camera h2{font-size:18px;margin:0 0 4px}.web-photo-camera header p{font-size:13px;line-height:1.4;overflow-wrap:anywhere;color:#d1e7d8;margin:0}
.web-photo-camera button{font:inherit;cursor:pointer;min-height:44px;border:1px solid #b8d2c3;border-radius:10px;padding:9px 14px;background:#eef7f1;color:#173c2e;font-weight:700}
.web-photo-camera button:disabled{opacity:.5;cursor:default}.web-photo-camera button:focus-visible{outline:2px solid #f6c969;outline-offset:3px}.web-photo-camera>header>button{flex-shrink:0}
.web-photo-live{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}
.web-photo-preview{min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#060c09}
.web-photo-preview video{display:block;object-fit:cover;max-width:100%;max-height:100%}
.web-photo-live>footer{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 16px calc(14px + env(safe-area-inset-bottom));background:#10271d}
.web-photo-status{flex:0 0 100%;font-size:14px;text-align:center;line-height:1.5;margin:0;color:#d8ebde}
.web-photo-camera .web-photo-shutter{height:70px;width:70px;padding:6px;border:2px solid #fff;border-radius:50%;background:transparent;flex-shrink:0}.web-photo-shutter>span{display:block;width:100%;height:100%;background:#fff;border-radius:50%}
.web-photo-camera [data-camera-fallback]{background:transparent;color:#d8ebde;border-color:#567364;font-size:14px}
.web-photo-edit{min-height:0;overflow:auto;overscroll-behavior:contain;background:#f4f8f5;color:#173c2e;padding:0 12px calc(12px + env(safe-area-inset-bottom))}
.web-photo-camera .camera-photo-editor{margin:0;padding:0}
.web-photo-camera .camera-photo-editor>section{display:flex;flex-direction:column;gap:8px;padding:12px 0 0;max-width:720px;margin:auto;border:0;background:transparent;border-radius:0;box-shadow:none}
.camera-photo-editor>section>header,.camera-photo-editor .draw-options,.camera-photo-editor>section>p,.camera-photo-editor .quick-text-help{display:none}
.web-photo-camera .camera-photo-editor canvas{order:0;align-self:center;width:auto;height:auto;max-width:100%;max-height:var(--camera-photo-max-height,42svh);object-fit:fill;border-radius:4px;flex-shrink:0}
.camera-photo-editor .quick-text-line{order:1;margin:0!important}.camera-photo-editor .quick-text-line input{font-size:18px}.camera-photo-editor .quick-text-line>span{margin-top:5px}
.camera-photo-editor .draw-tools{order:2;margin:0}.camera-photo-editor .draw-history{order:3;margin:0;display:flex;flex-wrap:wrap}.camera-photo-editor .draw-history>button{flex:1;font-size:13px}
.web-photo-camera .camera-photo-editor .editor-actions{order:4;position:sticky;bottom:-1px;display:grid;grid-template-columns:1fr 2fr;gap:10px;margin:0;padding:10px 0;background:#f4f8f5;box-shadow:none}
.web-photo-camera .camera-photo-editor .editor-actions button{font-size:16px;min-height:48px}
body.web-photo-camera-open #toast{z-index:1500}
@media(orientation:landscape) and (max-height:520px){.web-photo-camera>header{padding-top:8px;padding-bottom:8px}.web-photo-live{grid-template-columns:minmax(0,1fr) 200px;grid-template-rows:minmax(0,1fr)}.web-photo-live>footer{align-content:center}}

.web-photo-live{position:relative;display:block;overflow:hidden}
.web-photo-preview{position:absolute;inset:0}
.web-photo-live>footer{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(8,27,20,.94) 25%);max-height:70%;overflow:auto}
.camera-upload-panel{flex:0 0 100%;max-width:720px;margin:auto}
.camera-upload-panel summary{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #799c88;border-radius:10px;cursor:pointer;font-weight:700}
.camera-upload-content{padding:10px 0;display:grid;gap:10px}
.camera-upload-content>p{font-size:14px;margin:0;line-height:1.5}
.camera-local-photos{display:flex;gap:10px;overflow-x:auto;max-height:220px}
.camera-local-photos article{flex:0 0 124px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.camera-local-photos img{width:124px;height:90px;object-fit:cover;grid-column:1/-1;border-radius:6px}
.camera-local-photos span{font-size:12px;grid-column:1/-1;overflow-wrap:anywhere}
.camera-local-photos button{padding:8px 4px;font-size:13px}
.web-photo-camera .camera-photo-editor .draw-options{display:flex;order:3}
.camera-photo-editor .draw-options [data-draw-color],.camera-photo-editor .draw-options span:first-child{display:none}

/* v4.4.37: sales urgency with a specific outbound date and half-day target */
.workflow-order-card .workflow-urgent{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 8px}.workflow-order-card .workflow-urgent b{padding:3px 7px;border-radius:6px;background:#fff0ed;color:#963324;font-size:11px;line-height:1.3}.workflow-order-card .workflow-urgent span{color:#963324;font-size:12px;font-weight:900;line-height:1.45}
.sales-urgent-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:9px 0 0!important;color:#963324!important;font-size:12px!important;font-weight:800;line-height:1.45}.sales-urgent-status b{padding:3px 7px;border:1px solid #e7b7ad;border-radius:6px;background:#fff4f1;font-size:11px}.sales-urgent-status span{font-variant-numeric:tabular-nums}.sales-order-item .sales-urgent-action{border-color:#d57b6c;background:#fff6f3;color:#963324}.sales-order-item .sales-urgent-action:hover{border-color:#b84c3b;background:#fdecE8;color:#7d261a}
.sales-urgent-form{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(154px,.7fr) minmax(170px,.75fr) auto;gap:12px;align-items:end;margin-top:15px;padding:15px;border:1px solid #e9bdb4;border-radius:13px;background:#fff8f6}.sales-urgent-form-copy{display:grid;gap:4px;padding-bottom:2px}.sales-urgent-form-copy b{color:#7d2a20;font-size:14px}.sales-urgent-form-copy span{color:#74483f;font-size:11px;line-height:1.5}.sales-urgent-form>label,.sales-urgent-form fieldset{display:grid;gap:6px;min-width:0;margin:0;color:#6f4038;font-size:11px;font-weight:800}.sales-urgent-form input[type="date"]{width:100%;min-height:42px;margin:0;padding:8px 10px;border:1px solid #d7b5ae;border-radius:9px;background:#fff;color:#283d34;font:inherit;font-size:14px;font-variant-numeric:tabular-nums}.sales-urgent-form fieldset{padding:0;border:0}.sales-urgent-form legend{padding:0}.sales-urgent-periods{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sales-urgent-periods label{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:7px;border:1px solid #d7b5ae;border-radius:9px;background:#fff;color:#71392f;font-size:13px;cursor:pointer}.sales-urgent-periods input{width:17px;height:17px;margin:0;accent-color:#a43b2a}.sales-urgent-actions{display:flex;gap:7px}.sales-urgent-actions button{min-height:42px;padding:8px 13px;border:1px solid #d7b5ae;border-radius:9px;background:#fff;color:#743426;font:inherit;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}.sales-urgent-actions button[type="submit"]{border-color:#a43b2a;background:#a43b2a;color:#fff}.sales-urgent-actions button:hover{border-color:#8f2f21}.sales-urgent-actions button:disabled{opacity:.6;cursor:wait}.sales-urgent-form input:focus-visible,.sales-urgent-periods label:has(input:focus-visible),.sales-urgent-actions button:focus-visible,.sales-order-item .sales-urgent-action:focus-visible{outline:3px solid #e3a89d;outline-offset:2px}
@media(max-width:760px){.workflow-order-card .workflow-urgent{margin-bottom:10px}.workflow-order-card .workflow-urgent b,.workflow-order-card .workflow-urgent span{font-size:13px}.sales-urgent-status{font-size:14px!important}.sales-urgent-status b{font-size:12px}.sales-order-item>footer>section{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sales-order-item>footer>section:has(.sales-urgent-action) button{min-width:0}.sales-urgent-form{grid-template-columns:1fr;gap:11px;margin-top:13px;padding:14px}.sales-urgent-form-copy b{font-size:15px}.sales-urgent-form-copy span{font-size:12px}.sales-urgent-form>label,.sales-urgent-form fieldset{font-size:12px}.sales-urgent-form input[type="date"],.sales-urgent-periods label,.sales-urgent-actions button{min-height:46px;font-size:14px}.sales-urgent-actions{display:grid;grid-template-columns:1fr 1fr}.sales-urgent-actions button{width:100%}}

/* Daily urgency quota uses the existing sales workspace typography. */
.sales-urgency-quota{display:grid;gap:6px;margin:0 0 20px;padding:0;color:var(--dark);line-height:1.6}.sales-urgency-quota strong{font-size:16px;font-variant-numeric:tabular-nums}.sales-urgency-quota span{font-size:14px;color:#486353}.sales-order-item .sales-urgent-action:disabled{border-color:var(--line);background:#f2f5f3;color:#52685b;cursor:not-allowed}

/* Urgent orders extend the existing warehouse document list. */
.urgent-queue-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:16px 20px;border:1px solid #e1b8ad;border-radius:12px;background:#fff6f2;color:#7d2a20}
.urgent-queue-entry>div{display:grid;gap:5px}.urgent-queue-entry b{font-size:18px}.urgent-queue-entry span{font-size:14px;line-height:1.5;color:#79493f}
.urgent-queue-entry button,.urgent-orders-page button{min-height:44px;padding:10px 14px;border:1px solid #b8cfc1;border-radius:9px;background:#fff;color:#176b4d;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.urgent-queue-entry button{flex-shrink:0;border-color:#d7a99b;color:#8a3525;background:#fff}
.urgent-orders-page{min-width:0}.urgent-orders-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.urgent-orders-heading h2{margin:0;font-size:26px;color:var(--dark)}.urgent-orders-heading p{margin:8px 0 0;font-size:14px;color:var(--muted);line-height:1.6}
.urgent-orders-heading button{flex-shrink:0}.urgent-list-states{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.urgent-list-states button{display:flex;align-items:center;gap:12px;font-size:15px}.urgent-list-states button[aria-pressed="true"]{border-color:var(--green);background:var(--green);color:#fff}.urgent-list-states span{font-variant-numeric:tabular-nums}
.urgent-list-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.urgent-list-filters label{display:grid;gap:8px;font-size:14px;color:var(--dark);flex:1 1 230px}.urgent-list-filters label:has(select){flex:0 1 200px}.urgent-list-filters input,.urgent-list-filters select,.sales-urgent-form input[type="time"]{width:100%;min-width:0;min-height:46px;margin:0;padding:10px 12px;border:1px solid #b8cfc1;border-radius:9px;background:#fff;color:var(--dark);font:inherit;font-size:16px}
.urgent-list-filters button{min-height:46px}.urgent-list-result{margin:20px 0 12px;color:var(--muted);font-size:14px}.urgent-list-error{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px;color:#963324;background:#fff4f1;border-radius:12px}
.urgent-order-row{padding:20px 24px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:12px}.urgent-order-row>header{display:flex;align-items:start;justify-content:space-between;gap:20px}.urgent-order-status{display:inline-block;font-size:13px;color:#315746;padding:4px 8px;background:#edf6f0;border-radius:5px}.urgent-order-row h3{margin:10px 0 6px;font-size:22px;line-height:1.4;color:var(--dark)}.urgent-order-code{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere;color:#486353}
.urgent-orders-page .urgent-order-open{display:grid;gap:6px;text-align:left;border:0;padding:6px 0;min-height:56px;background:transparent;color:var(--green);font:inherit;font-weight:700;max-width:100%;overflow-wrap:anywhere}.urgent-order-open .urgent-order-code{text-decoration:underline;text-underline-offset:4px;font-weight:500}.urgent-orders-page .urgent-order-open:hover{color:var(--dark)}.urgent-workflow{margin:20px 0;padding:20px;background:#f2f7f3;border:1px solid #b8cec0;border-radius:12px}.app-order-detail>.urgent-workflow{margin:20px 16px}.urgent-workflow header{display:flex;align-items:center;justify-content:space-between;gap:16px}.urgent-workflow h2{margin:0;font-size:21px;line-height:1.4;color:var(--dark)}.urgent-workflow ol{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;padding:0;margin:20px 0}.urgent-workflow li{font-size:15px;color:#52685b;padding-block:4px;border-bottom:2px solid transparent}.urgent-workflow li[aria-current]{border-color:var(--green);font-weight:700;color:var(--dark)}.urgent-workflow li.done{color:#315746}.urgent-workflow p{font-size:16px;line-height:1.65;margin:0 0 18px;color:#315746;max-width:65ch}.urgent-workflow button{min-height:46px;padding:10px 16px;font-size:16px}.urgent-workflow button:focus-visible{outline:3px solid #176b4d;outline-offset:3px}.barcode-selected-order{font-size:15px;overflow-wrap:anywhere;margin:8px 0 0;color:#e5f3ec}@media(max-width:760px){.urgent-workflow{padding:18px 16px}.urgent-workflow header{align-items:start;flex-wrap:wrap;gap:12px}.urgent-workflow h2{font-size:20px}.urgent-workflow>button{width:100%}.urgent-workflow ol{gap:8px 16px}}
.urgent-order-target{display:grid;gap:6px;text-align:right;color:#963324;font-variant-numeric:tabular-nums}.urgent-order-target>span{font-size:13px;color:#79493f}.urgent-order-target strong{font-size:19px;line-height:1.5}.urgent-order-meta{margin:16px 0;color:#52685b;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.urgent-order-row footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.urgent-order-row footer>span{color:#52685b;font-size:14px}.urgent-order-row footer>div{display:flex;flex-wrap:wrap;gap:8px}.urgent-order-row footer button+button{background:var(--green);border-color:var(--green);color:#fff}.urgent-orders-page button:hover,.urgent-queue-entry button:hover{border-color:#176b4d}.urgent-orders-page button:disabled{opacity:.65;cursor:wait}.urgent-orders-page :is(button,input,select):focus-visible,.urgent-queue-entry button:focus-visible,.order-urgency-history summary:focus-visible{outline:3px solid #176b4d;outline-offset:3px}
.urgent-list-empty{padding:40px 24px;text-align:center;background:#fff;border-radius:12px}.urgent-list-empty h3{margin:0 0 10px;font-size:20px;color:var(--dark)}.urgent-list-empty p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.urgent-list-more{display:block;margin:20px auto}
.order-urgency-history{margin:24px;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.order-urgency-history summary{padding:16px 0;color:var(--dark);font-size:16px;font-weight:700;cursor:pointer}.order-urgency-history summary>span{margin-left:10px;color:#52685b;font-size:14px;font-weight:400}.order-urgency-history ol{list-style:none;margin:0;padding:0}.order-urgency-history li{padding:16px 0;border-top:1px solid var(--line)}.order-urgency-history li>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.order-urgency-history b{font-size:15px;color:#7d2a20}.order-urgency-history time{font-size:13px;color:#52685b;font-variant-numeric:tabular-nums}.order-urgency-history p{margin:8px 0 0;font-size:14px;color:var(--dark);line-height:1.6;overflow-wrap:anywhere}.order-urgency-history .urgency-previous{color:#52685b}.app-order-urgency{padding:14px 16px;background:#fff4f1;border-radius:10px;font-size:16px;font-weight:700;color:#963324}
.sales-urgent-form{grid-template-columns:minmax(180px,1.1fr) minmax(154px,.8fr) minmax(156px,.9fr) minmax(140px,.8fr);font-size:14px}.sales-urgent-form-copy span,.sales-urgent-form>label,.sales-urgent-form fieldset{font-size:13px}.sales-urgent-form input[type="time"]{min-height:42px;border-color:#d7b5ae}.sales-urgent-actions{grid-column:1/-1;justify-content:flex-end}.sales-urgent-error{grid-column:1/-1;margin:0;color:#963324;font-size:14px;line-height:1.6}.sales-urgent-error[hidden]{display:none}
@media(min-width:761px) and (max-width:1200px){.sales-query{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-query>label{min-width:0}.sales-query button{min-height:44px}.sales-urgent-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-urgent-form-copy{grid-column:1/-1}.sales-order-item>footer{flex-wrap:wrap}}
@media(max-width:760px){.urgent-queue-entry{padding:14px;gap:10px}.urgent-queue-entry b{font-size:16px}.urgent-queue-entry span{font-size:12px}.urgent-queue-entry button{padding:10px;font-size:14px}.urgent-orders-heading{align-items:start;margin-bottom:20px}.urgent-orders-heading h2{font-size:23px}.urgent-orders-heading p{font-size:13px}.urgent-orders-heading button{padding:8px 10px}.urgent-list-filters{gap:12px}.urgent-list-filters label,.urgent-list-filters label:has(select){flex:1 1 100%}.urgent-list-filters>button{width:100%}.urgent-order-row{padding:18px 16px}.urgent-order-row>header{display:block}.urgent-order-row h3{font-size:21px}.urgent-order-target{text-align:left;margin-top:16px;padding:12px;background:#fff6f2;border-radius:8px;gap:4px}.urgent-order-target strong{font-size:18px}.urgent-order-row footer{display:block}.urgent-order-row footer>div{display:flex;margin-top:12px}.urgent-order-row footer button{flex:1;min-height:46px}.order-urgency-history{margin:20px 16px}.order-urgency-history li>div{display:grid}.sales-urgent-form{grid-template-columns:1fr}.sales-urgent-form input[type="date"],.sales-urgent-form input[type="time"]{min-height:46px;font-size:16px}.sales-urgent-actions{grid-template-columns:1fr 1fr}}

.urgent-workflow button{border:1px solid #b8cec0;border-radius:8px;background:#fff;color:var(--dark);font-weight:700;cursor:pointer}.urgent-workflow button:hover{border-color:var(--green)}.urgent-workflow button.primary{background:var(--green);border-color:var(--green);color:#fff}.urgent-workflow button:disabled{opacity:.65;cursor:wait}@media(min-width:761px) and (max-width:1200px){.camera-grid.urgent-work-detail{grid-template-columns:minmax(0,1fr)}}

html.apple-login-locked,.apple-login-locked body,.apple-login-locked .login-page{touch-action:pan-y}html.apple-login-locked{-webkit-text-size-adjust:100%;text-size-adjust:100%}.apple-login-locked #login-form input{font-size:16px;line-height:1.5}

.app-order-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-order-heading>div{min-width:0}.app-order-heading>[data-native-home]{flex:none;min-height:44px;padding:10px 12px;border:1px solid #b8cec0;border-radius:10px;background:#fff;color:#176b4d;font-size:14px;font-weight:700;cursor:pointer}
.photo-lightbox>header{gap:12px;padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}.photo-lightbox header>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-lightbox header>button{flex:none;width:auto;min-height:46px;height:auto;padding:10px 14px;font-size:16px;font-weight:700;cursor:pointer}.photo-lightbox>footer{display:grid;gap:12px;padding:14px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#102b21;text-align:center}.photo-lightbox>footer small{color:#cbd9d2;font-size:14px;line-height:1.5}.photo-lightbox>footer button{min-height:48px;padding:12px 16px;border:1px solid #92b7a6;border-radius:10px;background:#eaf4ee;color:#174c39;font-size:16px;font-weight:700;cursor:pointer}.photo-lightbox button:focus-visible,.app-order-heading>[data-native-home]:focus-visible{outline:3px solid #d9b753;outline-offset:2px}
.account-sections{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px}
.account-sections button{flex:1;max-width:240px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--dark)}
.account-sections button[aria-pressed="true"]{background:var(--green);color:#fff;border-color:var(--green)}
.account-department>summary,.organization-department>summary,.sales-membership-department>summary{cursor:pointer;min-height:52px;padding:14px 8px;color:var(--dark);border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.account-department>summary span,.organization-department>summary span,.sales-membership-department>summary span{margin-left:16px;font-size:14px;color:var(--muted)}
.account-department+ .account-department{margin-top:8px}
.account-department>summary:focus-visible,.organization-department>summary:focus-visible,.sales-membership-department>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.organization-department-actions{justify-content:flex-end;padding-top:12px}
.sales-memberships{grid-column:1/-1;min-width:0;border:0;border-top:1px solid var(--line);padding:16px 0;margin:16px 0}
.sales-memberships[hidden]{display:none}
.sales-memberships legend{font-weight:700;color:var(--dark);padding:0 8px 0 0}
.sales-memberships p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 12px}
.sales-membership-options{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 8px}
.accounts-workbench .sales-membership-options label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:400}
.accounts-workbench .sales-membership-options input{width:20px;height:20px;min-height:20px;padding:0;accent-color:var(--green)}
@media(max-width:760px){.account-sections button{padding:10px 8px;max-width:none}.account-department>summary span,.organization-department>summary span{margin-left:8px}}
/* Urgent documents expand inside the existing progress overview. */
.progress-overview .progress-status-tabs.progress-today-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.progress-status-tabs .urgent-progress-button,.urgent-progress-count button{border-color:#d6aaa0;color:#943c29;background:#fff8f5}
.progress-status-tabs .urgent-progress-button.active,.urgent-progress-count button[aria-expanded="true"]{background:#943c29;color:#fff}
.urgent-progress-count{grid-template-columns:minmax(0,240px)}
.progress-overview .urgent-orders-page{max-width:none;margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}
.progress-overview .urgent-orders-heading h2{font-size:20px}
.order-urgent-badge{display:inline-block;margin-left:10px;padding:3px 9px;border:1px solid #d6aaa0;border-radius:6px;background:#fff2eb;color:#8c3020;font-size:13px;line-height:1.5;vertical-align:middle}
@media(max-width:760px){.progress-overview .progress-status-tabs.progress-today-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-overview .progress-today-tabs button[data-progress-filter="unfinished"]{grid-column:auto}.urgent-progress-count{grid-template-columns:1fr}.progress-overview .urgent-orders-heading{gap:12px;flex-wrap:wrap}.urgent-orders-heading>button{min-height:44px}}

.role-warehouse_manager .progress-overview .progress-status-tabs.progress-today-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.role-warehouse_manager .progress-today-tabs button:nth-child(3){grid-column:1;grid-row:1}
.role-warehouse_manager .progress-today-tabs button:nth-child(4){grid-column:2;grid-row:1}
.progress-overview .progress-status-tabs .urgent-progress-button[aria-expanded="true"] :is(strong,span){color:#fff}
.progress-overview .urgent-orders-page{padding:20px 24px 0}
.progress-overview .urgent-order-row{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;box-shadow:none}
.progress-overview .urgent-progress-count{display:grid;grid-template-columns:1fr}
.urgent-progress-count button{min-height:84px;text-align:left;padding:16px}
.barcode-image-picker{display:grid;gap:8px;min-height:48px;padding:12px;color:#fff;text-align:left;font-size:16px}
.accounting-panel{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 0;border-top:1px solid #d3e1d8;color:#163d2d}.accounting-panel p{margin:8px 0;line-height:1.5}.accounting-panel small{font-size:14px;color:#496454}.accounting-panel button{min-height:48px}.role-general_affairs .order-row{grid-template-columns:58px minmax(0,1fr) auto}.role-general_affairs .notice-tabs{grid-template-columns:1fr}
@media(max-width:760px){.role-general_affairs .order-row{grid-template-columns:40px minmax(0,1fr)}.role-general_affairs .order-row>button{grid-column:2}.accounting-panel{align-items:flex-start;flex-direction:column}.accounting-panel button{width:100%}}
.barcode-image-picker input{width:100%;min-height:44px;font-size:16px;background:#fff;color:#153e30;border-radius:8px;padding:8px}
@media(min-width:761px){.apple-workbench .workspace{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.apple-workbench .mobile-nav.role-navigation{display:flex;position:fixed;z-index:30;inset:auto 0 0;justify-content:center;gap:12px;min-height:80px;padding:8px 20px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dde7e1}.apple-workbench .mobile-nav.role-navigation button{display:flex;flex:1;max-width:160px;min-height:56px;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#365e4c}.apple-workbench .mobile-nav.role-navigation svg{width:24px;height:24px}.apple-workbench .mobile-nav.role-navigation .nav-label{display:block;font-size:14px}}
@media(max-width:760px){.progress-overview .urgent-orders-page{padding:18px 16px 0}.progress-overview .urgent-order-row{padding:20px 0}.urgent-order-row footer>div{flex-wrap:wrap}}

@media(min-width:761px){.apple-workbench .mobile-nav.role-navigation button.active{background:#e8f3ed;color:#176b4d}}

/* Order photos are independently disclosed; native details supports touch and keyboard. */
.photo-gallery-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer;list-style:none;margin:0}
.photo-gallery-fold>summary::-webkit-details-marker{display:none}
.photo-gallery-fold>summary::marker{content:""}
.photo-gallery-fold>summary:focus-visible{outline:2px solid #176b4d;outline-offset:5px;border-radius:6px}
.photo-gallery-fold>summary h2{margin:0;font-size:20px;color:#10251e}
.photo-gallery-fold>summary small{display:block;color:#52685b;font-weight:700}
.photo-gallery-fold .photo-gallery-toggle{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;color:#176b4d;font-size:14px;font-weight:700}
.photo-gallery-fold:not([open]) .when-open,.photo-gallery-fold[open] .when-closed{display:none}
.photo-gallery-fold[open]>.photo-gallery-toggle svg,.photo-gallery-fold[open]>summary .photo-gallery-toggle svg{transform:rotate(180deg)}
.photo-gallery-fold[open]>summary{margin-bottom:16px}
@media(max-width:680px){.photo-gallery-fold>summary.section-head{align-items:center;flex-wrap:wrap}.photo-gallery-fold>summary .gallery-actions{display:none}.photo-gallery-fold>summary h2{font-size:18px}}

.binding-department[hidden]{display:none!important}
.binding-department>summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.binding-department+.binding-department{margin-top:12px}

/* General affairs verifies summary photos before accounting. */
.affairs-detail-grid{grid-template-columns:minmax(0,1fr);max-width:1100px;margin-inline:auto}
.affairs-detail-grid .camera-card{padding:24px}
.affairs-detail-grid .gallery{margin:20px 0}
.affairs-detail-grid .sales-order-info{margin:24px 0 0}
.affairs-detail-grid .accounting-panel button{width:auto;min-width:160px}
.affairs-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.affairs-detail-heading h2{margin:0;color:var(--green);font-size:24px}
.affairs-detail-heading p{margin:6px 0 0;color:var(--muted);font-size:14px}
.affairs-detail-heading button{width:auto;min-height:44px;flex-shrink:0;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);font:inherit;cursor:pointer}
.affairs-detail-grid .gallery .section-head>div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.affairs-detail-grid .order-sheet-gallery .history-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
.affairs-detail-grid .order-sheet-gallery .history-photo img{aspect-ratio:3/4;object-fit:contain;background:#edf2ef}
.affairs-detail-grid .accounting-panel{margin:16px 0 24px}
.affairs-progress{border-block:1px solid var(--line);margin-top:20px}
.affairs-progress>summary{cursor:pointer;padding:14px 0;min-height:48px;color:var(--dark)}
.affairs-progress>summary span{margin-left:12px;font-size:14px;color:var(--muted)}
.affairs-progress>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:680px){.affairs-detail-grid .camera-card{padding:16px}.affairs-detail-grid .accounting-panel button{width:100%}.affairs-detail-heading{align-items:flex-start;flex-wrap:wrap}.affairs-detail-heading h2{font-size:22px}.affairs-detail-grid .order-sheet-gallery .history-photos{grid-template-columns:minmax(0,1fr)}}

.order-accounting-badge{display:inline-block;margin-left:8px;padding:3px 8px;border:1px solid #b6d3c4;border-radius:5px;background:#edf6f0;color:#1b6547;font-size:12px;font-weight:700;line-height:1.5;vertical-align:middle;white-space:nowrap}
.accounting-status-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.accounting-status-tabs button{min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--dark);font:inherit;cursor:pointer}
.accounting-status-tabs button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.accounting-status-tabs button:focus-visible{outline:2px solid var(--green);outline-offset:3px}

.order-detail-grid{grid-template-columns:minmax(0,1fr)}
.order-detail-grid .affairs-progress{margin:20px 24px}
@media(max-width:680px){.order-detail-grid .affairs-progress{margin:16px}}

/* Keep iPhone text entry in a stable top row above the photo and keyboard. */
.stable-photo-editor.is-editing .web-photo-edit{overflow:hidden;padding-bottom:max(8px,env(safe-area-inset-bottom))}
.stable-photo-editor .camera-photo-editor{height:100%;min-height:0}
.stable-photo-editor .camera-photo-editor>section{height:100%;min-height:0;padding-top:8px}
.stable-photo-editor .camera-photo-editor .quick-text-line{order:0;flex-shrink:0}
.stable-photo-editor .camera-photo-editor canvas{order:1;flex:1 1 0;min-height:0;max-height:100%;width:100%;object-fit:contain;touch-action:none}
.stable-photo-editor .camera-photo-editor .editor-actions{position:static;flex-shrink:0;padding:6px 0 0}
.stable-photo-editor.is-text-entry .draw-tools,.stable-photo-editor.is-text-entry .draw-options,.stable-photo-editor.is-text-entry .draw-history{display:none}
.stable-photo-editor .quick-text-line input{min-height:46px;font-size:18px;text-transform:none}

.stable-photo-editor .stable-photo-preview{order:1;flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111;border-radius:4px}
.stable-photo-editor .stable-photo-preview canvas{flex:0 1 auto;min-width:0;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}

.stable-photo-editor .quick-text-line>span>[data-focus-photo-text]{display:none}
.stable-photo-editor .quick-text-actions{display:grid;grid-template-columns:1fr 1fr}
.stable-photo-editor.is-text-entry [data-clear-text-input]{display:none}

.stable-photo-editor.is-text-entry .quick-text-actions button,.stable-photo-editor.is-text-entry .editor-actions button{font-size:14px;padding:8px 6px}
.stable-photo-editor.is-text-entry .quick-text-actions button{white-space:nowrap}
