*{box-sizing:border-box}body{color:#10233d;background:#eef3f8;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.app{background:#f7f9fc;max-width:480px;min-height:100vh;margin:auto;padding-bottom:88px;box-shadow:0 0 35px #183b5c18}.brand{color:#fff;z-index:4;background:linear-gradient(135deg,#064d96,#0876cf);align-items:center;gap:11px;padding:14px 16px;display:flex;position:sticky;top:0}.brand img{object-fit:cover;background:#fff;border:2px solid #fff;border-radius:50%;width:48px;height:48px}.brand div{flex-direction:column;flex:1;display:flex}.brand b{font-size:16px}.brand span{opacity:.86;margin-top:3px;font-size:12px}.icon{color:#fff;background:#ffffff20;border:0;border-radius:13px;width:40px;height:40px;position:relative}.icon svg{width:20px}.icon i{background:#ff4d4f;border-radius:10px;padding:2px 5px;font:700 10px sans-serif;position:absolute;top:2px;right:4px}main{padding:16px}.hero{color:#fff;background:linear-gradient(135deg,#0876cf,#074b94);border-radius:20px;padding:18px;box-shadow:0 10px 25px #0759a829}.hero span{opacity:.85;font-size:12px}.hero h2{margin:5px 0;font-size:24px}.hero p{opacity:.9;margin:0;font-size:13px}.stats{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 20px;display:grid}.stats button{text-align:left;color:#123;background:#fff;border:0;border-radius:18px;padding:16px;box-shadow:0 5px 18px #183b5c0d}.stats svg{color:#0876cf}.stats strong{margin:8px 0 1px;font-size:28px;display:block}.stats span{color:#62748a;font-size:13px}.sectionTitle{margin:18px 2px 10px;font-size:15px}.card{text-align:left;color:#123;background:#fff;border:0;border-radius:16px;align-items:center;gap:11px;width:100%;margin:9px 0;padding:13px;display:flex;box-shadow:0 4px 14px #183b5c0b}.card i{color:#0876cf;background:#eaf4ff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.card i svg{width:21px}.card div{flex-direction:column;flex:1;gap:4px;display:flex}.card b{font-size:13px}.card span{color:#748397;font-size:11px}.card>svg{color:#9aa8b8;width:18px}.notice{color:#0759a8;background:#eaf4ff;border-radius:12px;margin-bottom:12px;padding:11px 13px;font-size:12px}.order{text-align:left;color:#123;background:#fff;border:0;border-radius:17px;width:100%;margin:11px 0;padding:15px;display:block;box-shadow:0 4px 15px #183b5c0c}.clickable{cursor:pointer}.row{justify-content:space-between;gap:10px;display:flex}.row strong{color:#0876cf;font-size:11px}.row h3{margin:4px 0;font-size:15px}.pill{color:#21894d;background:#e9f7ee;border-radius:9px;height:max-content;padding:5px 8px;font-size:10px;font-weight:700}.pill.red{color:#d63838;background:#fff0f0}.order>p{color:#6f8094;font-size:12px}.scan{color:#0876cf;border-top:1px solid #edf0f4;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.scan>svg{width:24px}.scan div{flex-direction:column;flex:1;display:flex}.scan small{color:#7d8b9c}.scan b{margin-top:2px;font-size:12px}.scan>svg:last-child{color:#9ba9b9;width:18px}.issue{background:#f5f7fa;border-radius:10px;margin:10px 0;padding:10px;font-size:12px}.primary,.success{color:#fff;background:#0876cf;border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px 12px;font-weight:700;display:flex}.primary svg,.success svg{width:17px}.success{background:#1d9b57}.big{margin-top:10px;padding:14px}.tech,.meta{align-items:center;gap:6px;display:flex}.tech svg,.meta svg{width:15px}.lines{border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;margin:12px 0}.lines div{justify-content:space-between;padding:11px 0;font-size:12px;display:flex}.lines span{color:#748397}.progress{flex-direction:column;gap:7px;margin:12px 0;display:flex}.progress span{color:#21894d;align-items:center;gap:5px;font-size:12px;display:flex}.progress svg{width:15px}.search{background:#fff;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;display:flex;box-shadow:0 4px 14px #183b5c0b}.search>svg{color:#8998aa;width:19px}.search input{border:0;outline:0;flex:1;min-width:0;font-size:13px}.search button{color:#0876cf;background:#eaf4ff;border:0;border-radius:9px;padding:7px}.search button svg{width:20px}.qrBig{color:#0759a8;background:#edf7ff;border:1px dashed #84b9e9;border-radius:18px;flex-direction:column;align-items:center;gap:6px;width:100%;margin:15px 0;padding:24px;display:flex}.qrBig span{color:#73859a;font-size:11px}.top{color:#fff;z-index:5;background:#0759a8;align-items:center;gap:10px;height:58px;padding:0 12px;display:flex;position:sticky;top:0}.top button{color:#fff;background:0 0;border:0}.top svg{width:22px}.detail{margin-top:0}.empty{text-align:center;color:#5e7188;flex-direction:column;align-items:center;gap:8px;padding:40px;display:flex}.empty svg{color:#1d9b57}nav{width:min(480px,100%);height:72px;padding-bottom:max(5px,env(safe-area-inset-bottom));z-index:9;background:#fff;border-top:1px solid #e7ebf0;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}nav button{color:#8493a5;background:#fff;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;display:flex;position:relative}nav svg{width:21px}nav button.active{color:#0876cf;font-weight:700}nav em{color:#fff;background:#ff4d4f;border-radius:9px;padding:2px 5px;font:700 9px sans-serif;position:absolute;top:7px;right:22%}.toast{color:#fff;z-index:20;background:#10233d;border-radius:12px;align-items:center;gap:8px;width:max-content;max-width:88%;padding:11px 14px;font-size:12px;display:flex;position:fixed;bottom:86px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0003}.toast svg{color:#5ee18e;width:18px}@media (width>=700px){body{padding:24px 0}.app{border-radius:24px;min-height:850px;overflow:hidden}}.rolebar{background:#eef5ff;border:1px solid #d7e7ff;border-radius:14px;align-items:center;gap:10px;margin:12px 16px;padding:12px;display:flex}.rolebar>svg{color:#1263c7}.rolebar div{flex-direction:column;flex:1;display:flex}.rolebar span{color:#64748b;font-size:12px}.rolebar button{color:#1263c7;background:#fff;border:0;border-radius:9px;padding:8px 10px;font-weight:700}.completed{border-left:4px solid #16a34a}.pill.done{color:#16813b;background:#e9f9ef}.actions{gap:8px;margin-top:10px;display:flex}.actions button{background:#fff;border:1px solid #d8e1ec;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-weight:700;display:flex}.actions button.hide{color:#b42318;background:#fff7f6;border-color:#ffd8d4}.notice svg{vertical-align:middle;width:18px;margin-right:5px}.login{background:#f4f7fb;place-items:center;min-height:100vh;padding:20px;display:grid}.loginbox{background:#fff;border-radius:24px;width:min(420px,100%);padding:26px;box-shadow:0 12px 40px #0b3b6b18}.loginbox img{object-fit:contain;width:150px;height:64px;margin:auto;display:block}.loginbox h2{text-align:center;color:#0759a8;margin:10px 0 2px}.loginbox>p{text-align:center;color:#667;margin:0 0 22px}.loginbox label{margin:12px 0;font-size:13px;font-weight:700;display:block}.loginbox input,.form input,.form select,.sheet input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #dce4ed;border-radius:12px;margin-top:6px;padding:14px}.demo{background:#f4f7fb;border-radius:12px;gap:4px;margin-top:18px;padding:12px;font-size:12px;display:grid}.titleRow{justify-content:space-between;align-items:center;display:flex}.mini{border:0;border-radius:10px;align-items:center;gap:5px;padding:8px 10px;display:flex}.mini svg{width:16px}.form{gap:8px;display:grid}.form input,.form select{margin:0}.usercard button{margin-left:auto}.modal{z-index:20;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:#fff;border-radius:22px 22px 0 0;gap:10px;width:min(520px,100%);padding:20px;display:grid}.sheet h3,.sheet input{margin:0}.rolebar button svg{width:18px}.brand img{object-fit:contain;background:#fff}.logoEditor{gap:12px;display:grid}.logoPreview{align-items:center;gap:14px;display:flex}.logoPreview img{object-fit:contain;background:#fff;border:1px solid #e4eaf1;border-radius:14px;width:82px;height:82px;padding:5px}.logoPreview div{flex-direction:column;gap:4px;display:flex}.logoPreview span,.hint{color:#748397;font-size:11px}.uploadBtn{color:#fff;cursor:pointer;background:#0876cf;border-radius:11px;justify-content:center;align-items:center;gap:7px;width:100%;padding:12px;font-weight:700;display:flex}.uploadBtn svg{width:18px}.uploadBtn input{display:none}.resetLogo{color:#31516f;background:#eef3f8;justify-content:center;width:100%}.hint{text-align:center;margin:0}.brand img{padding:3px}.warranty{color:#16813b;background:#e9f9ef;border-radius:11px;align-items:center;gap:6px;margin-top:10px;padding:10px;font-size:12px;display:flex}.warranty.expired{color:#c83232;background:#fff0f0}.warranty svg{width:17px}.field{gap:6px;margin-top:12px;font-size:12px;font-weight:700;display:grid}.field select,.field input,.sheet select{background:#fff;border:1px solid #dce4ed;border-radius:11px;width:100%;padding:13px}.workflow{background:#fff;border-radius:17px;gap:9px;margin:12px 0;padding:15px;display:grid}.workflow h3{margin:0 0 5px}.workflow button{color:#0759a8;background:#f8fbff;border:1px solid #dce4ed;border-radius:12px;align-items:center;gap:8px;padding:13px;font-weight:700;display:flex}.workflow button.success{color:#fff;background:#1d9b57;border:0}.workflow svg{width:19px}.timeline{border-left:2px solid #8cc6f5;padding-left:12px}.close{background:#eef3f8;border:0;border-radius:9px;padding:7px}.close svg{width:18px}.sheet select{font:inherit}.deliveryItem{background:#f8fbff;border:1px solid #dce6f2;border-radius:14px;flex-direction:column;gap:7px;margin-top:10px;padding:12px;display:flex}.deliveryItem .primary{margin-top:4px}.qrimg{border:8px solid #fff;border-radius:10px;width:180px;height:180px;margin:12px auto;display:block}.ok{color:#18733b;background:#eaf8ef;border-radius:10px;padding:10px;font-weight:700}.check{align-items:center;gap:10px;flex-direction:row!important;display:flex!important}.check input{width:20px!important}.pill.blue{color:#1459a6;background:#e9f2ff}.order h3 svg{vertical-align:middle}.brand img,.loginbox>img{object-fit:contain!important;background:#fff!important;padding:4px!important}.progressBox{background:#eef6ff;border-radius:12px;margin:10px 0;padding:14px}.timeline{border-left:3px solid #dbe7f4;margin:14px 6px;padding-left:16px}.timeline p{opacity:.45;margin:12px 0}.timeline p.done{opacity:1;font-weight:700}.viewer textarea{display:none}.ticketState{border:2px solid #0000}.ticketOpen{background:snow;border-color:#ef4444}.ticketDone{background:#f7fff9;border-color:#22c55e}.stateBadge{white-space:nowrap;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:900}.stateBadge.red{color:#b91c1c;background:#fee2e2}.stateBadge.green{color:#15803d;background:#dcfce7}.statusLine{color:#40566f;margin:8px 0;font-size:12px;font-weight:800}.finishBtn{margin-top:10px;font-size:14px;padding:15px!important}.completionResult{color:#166534;background:#dcfce7;border-radius:12px;flex-direction:column;gap:5px;padding:13px;display:flex}.workflow textarea,.sheet textarea{width:100%;min-height:86px;font:inherit;resize:vertical;border:1px solid #dce4ed;border-radius:11px;padding:12px}.ticketWorking{background:#fffbeb;border-color:#f59e0b}.stateBadge.orange{color:#c2410c;background:#ffedd5}.scanQrBtn{color:#fff;background:#0759a8;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;width:100%;margin:10px 0 14px;padding:13px;font-weight:800;display:flex}.scanQrBtn svg{width:20px}.qrReader{background:#111;border-radius:16px;width:100%;min-height:280px;overflow:hidden}.cameraHelp{text-align:center;color:#0759a8;flex-direction:column;align-items:center;gap:5px;display:flex}.cameraHelp svg{width:28px}.cameraHelp span{color:#64748b;font-size:11px}.error{color:#b91c1c;background:#fee2e2;border-radius:10px;padding:10px;font-size:12px}.qrReader video{border-radius:14px!important}
