@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&display=swap');

:root{--blue:#147bb4;--ink:#193447;--line:#dce7ef}*{box-sizing:border-box}body{margin:0;background:#f4f8fb;color:var(--ink);font:14px Arial,sans-serif}header{background:white;border-bottom:1px solid var(--line);padding:18px 6%;display:flex;align-items:center;gap:24px}.logo{width:130px;height:auto}header small{display:block;color:#6b8799;margin-top:6px;letter-spacing:1px}main{max-width:1180px;margin:30px auto;padding:0 20px}h1{font-size:27px;margin-bottom:10px}p{color:#6c8392;line-height:1.7}button,.button{border:1px solid var(--line);background:white;border-radius:7px;padding:11px 16px;color:var(--ink);cursor:pointer;font:inherit}.primary{background:var(--blue);color:white;border-color:var(--blue)}button:disabled{opacity:.5;cursor:wait}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin:20px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;color:#506c7e}input,select,textarea{display:block;width:100%;padding:12px;margin:8px 0 0;border:1px solid #cfdee8;border-radius:6px;background:white;color:var(--ink);font:14px Arial}input[readonly]{background:#f1f5f9}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row input{flex:1;min-width:160px;margin:0}.row select{width:auto;margin:0}.spacer{flex:1}.muted{font-size:12px;color:#7b8e9c}.notice{padding:14px 18px;background:#e8f4fc;border:1px solid #cfe5f4;border-radius:8px;line-height:1.6;font-size:12px}.error{color:#bb4f36;font-size:13px;white-space:pre-wrap}.success{padding:16px;background:#e7f6eb;border-radius:8px;line-height:1.8;overflow-wrap:anywhere}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e9eff4}th{background:#f5f9fc;color:#6b8799;font-size:10px}td button{padding:7px 10px;font-size:11px}.badge{padding:5px 8px;border-radius:5px;background:#eef4f8;display:inline-block}.done{background:#e6f4e9;color:#347247}.fix{background:#fff0e8;color:#a45e37}.missing{background:#fff5da;color:#8a6b18}.review{background:#eaf3fc;color:#3378a2}.upload{border:1px dashed #b6cede;background:#f8fbfe;border-radius:8px;padding:18px}.upload input{font-size:11px}.preview img{max-height:150px;max-width:100%;margin-top:15px}.preview a{display:block;color:var(--blue);margin-top:6px;font-size:11px}.actions{margin-top:24px;display:flex;gap:12px;align-items:center}dialog{border:0;border-radius:12px;max-width:96vw;width:800px;padding:24px;color:var(--ink)}dialog::backdrop{background:#18344977}dialog .body{max-height:72vh;overflow:auto;padding:0 4px 12px}.close{float:right;font-size:20px}.tour-head{font-size:11px;font-weight:bold;color:#3884af;margin:25px 0 12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.stats>div{background:white;border:1px solid var(--line);padding:20px;border-radius:9px;font-size:12px}.stats strong{display:block;font-size:28px;margin-top:10px}#busy{color:#147bb4}#adminPanel h3{margin-top:0}.link-box{width:100%;font-size:11px;background:#f0f7fc;padding:12px;border-radius:6px;overflow-wrap:anywhere}.hidden,[hidden]{display:none!important}footer{text-align:center;font-size:11px;color:#8ca0ae;margin:35px 0}@media(max-width:650px){header{padding:15px 20px;gap:15px}.logo{width:100px}header strong{font-size:12px}header small{font-size:8px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.card{padding:18px}main{padding:0 14px;margin:22px auto}.row select{width:100%}h1{font-size:23px}dialog{padding:18px}.stats>div{padding:15px}}

body,button,input,select,textarea{font-family:'Be Vietnam Pro',Arial,sans-serif}body{background:#f5f8fc}header{padding:17px 5%;height:94px;box-shadow:0 2px 12px #1b4d6d04}header .logo{width:123px;border-radius:2px}header strong{font-size:12px;letter-spacing:1.4px}header small{font-size:8px;letter-spacing:1.1px}.header-label{font-size:9px;letter-spacing:1.2px;color:#91a3b1}#adminLogin{font-size:11px;padding:11px 16px;background:#fff;border-color:#cee1ef;color:#2676a4}main{max-width:1190px;margin-top:38px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 12px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#4991bc;margin-bottom:18px}#app>.row:first-child{margin:25px 0}#app>.row:first-child p{font-size:12px}h1 span{color:#1f94d2}.notice{border:0;border-left:3px solid #2397d1;background:#eaf5fd;padding:15px 20px;font-size:11px;color:#4c758d}.customer-panel{margin-top:25px;padding:30px 36px;box-shadow:0 5px 25px #22465b04}.customer-panel>h2{font-size:20px;margin:0 0 25px}.customer-panel .body{max-height:none;overflow:visible;padding:0}.customer-panel .tour-head{margin:30px 0 20px;font-size:10px;letter-spacing:1px;padding-bottom:13px;border-bottom:1px solid #edf2f6}.grid{gap:22px 28px}label{font-size:11px;font-weight:500;color:#536d7e}input,select,textarea{padding:13px;background:#fff;font-size:12px;border-color:#dce7ef}input:focus,select:focus,textarea:focus{outline:3px solid #1f94d214;border-color:#79b8db}.upload{padding:23px;background:#f8fbfe;min-height:155px}.upload .muted{font-size:10px;margin-top:12px;display:block}.upload input{padding:8px;font-size:10px;margin-top:17px}.customer-panel .actions{padding-top:22px;border-top:1px solid #edf2f6;margin-top:24px}.customer-panel .actions .primary{padding:14px 25px;font-size:12px}.stats{gap:20px;margin:26px 0}.stats>div{padding:22px 25px;font-size:11px;color:#688294}.stats strong{font-size:31px;color:#1e4056}.card{border-color:#e2eaf1}.login-dialog{width:420px;padding:33px}.login-dialog h2{font-size:23px;margin-top:18px}.login-dialog p{font-size:12px}.login-dialog .actions .primary{width:100%;padding:13px}.login-dialog .close{border:0;padding:0 7px}.login-icon{font-size:28px;background:#e9f5fd;width:52px;height:52px;display:grid;place-items:center;color:#1f94d2;border-radius:13px}#busy{font-size:11px}.welcome{padding:35px 0}.welcome p{font-size:13px}.loading-line{margin-top:35px;color:#8ca2b0;font-size:11px}.welcome h1{font-size:34px}footer{max-width:1150px;margin:38px auto;text-align:left;padding:22px 20px;border-top:1px solid #e3ebf2;font-size:9px;letter-spacing:1px}footer span{float:right;font-size:9px;letter-spacing:0;color:#96a7b4}.table-wrap{margin-top:20px}#receipt{margin-top:25px}.form-error,.error{font-size:11px}@media(max-width:700px){header{height:80px;padding:12px 18px;gap:12px}.header-label{display:none}header .logo{width:96px}header strong{font-size:9px}header small{font-size:6px}#adminLogin{font-size:9px;padding:9px}main{margin-top:24px}h1,.welcome h1{font-size:25px}.customer-panel{padding:23px 18px}.grid{gap:18px}.customer-panel>h2{font-size:18px}.stats{gap:10px}.stats>div{padding:17px;font-size:10px}.stats strong{font-size:25px}footer span{display:none}.notice{font-size:10px}.login-dialog{padding:25px}.row input{min-width:130px}}

#sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:white;border-right:1px solid #e1e9f0;z-index:20;padding:28px 18px}.side-logo{width:145px;height:auto;display:block}.side-brand{padding:0 8px 30px}.side-brand small{display:block;font-size:9px;color:#8298a7;margin-top:13px;letter-spacing:.7px}.nav-label{display:block;margin:12px 12px 17px;font-size:9px;letter-spacing:1.6px;color:#9aabb6}nav button{display:flex;gap:11px;width:100%;text-align:left;border:0;padding:14px 12px;margin:7px 0;background:transparent;font-size:11px;align-items:center;border-radius:7px}nav button.active{color:#147bb4;background:#e7f3fc;font-weight:600}nav button:hover{background:#f0f6fb}.side-user{position:absolute;bottom:28px;left:28px;right:20px;padding-top:20px;border-top:1px solid #e8eef3}.side-user b{font-size:10px;color:#447089}.side-user small{display:block;font-size:9px;color:#94a5b0;margin-top:8px}header{margin-left:235px;padding:18px 35px;height:78px}header .logo{display:none}header strong{font-size:10px}main{margin-left:235px;padding:0 35px;max-width:none}footer{margin-left:270px;margin-right:35px;padding-left:0;max-width:none}#app>.row:first-child{margin-top:30px}h1{font-size:27px}#adminPanel{display:none!important}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.section-heading h2{font-size:21px;margin:10px 0}.section-heading small,.view-panel>small{color:#81a0b3;font-size:9px;letter-spacing:1.2px}.tour-cards,.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.tour-item{border:1px solid #e0eaf1;padding:20px;border-radius:9px}.tour-item h3{font-size:14px;margin-top:20px}.tour-item button{font-size:10px}.guide-tabs{display:flex;gap:8px;margin:24px 0}.guide-tabs button{font-size:11px}.guide-tabs .selected{background:#147bb4;color:white;border-color:#147bb4}.guide-grid article{padding:20px;background:#f6faff;border:1px solid #e2edf5;border-radius:9px}.guide-grid h3,.guide-box h3{font-size:13px}.guide-grid ul,.checklist{padding-left:20px;font-size:12px;line-height:2.2;color:#526f83}.guide-box{padding:20px 0}.guide-box p{font-size:12px}.account-item{display:flex;gap:25px;padding:17px 0;border-bottom:1px solid #e8eef3;margin-bottom:12px;font-size:12px}.account-item b{width:80px}.account-item span{color:#7b93a4}.text-button{border:0;background:none;color:#4383aa;padding:16px 0 0;font-size:11px}#loginForm label{margin-top:15px}#setupModal p{font-size:12px}#setupForm label{margin-top:17px}.login-dialog{width:420px}#exportExcel{white-space:nowrap;font-size:11px}.grid label .muted{font-size:9px}@media(max-width:1050px){#sidebar{width:205px;padding:25px 13px}header{margin-left:205px;padding:17px 25px}main{margin-left:205px;padding:0 24px}footer{margin-left:229px}nav button{font-size:10px}.guide-grid,.tour-cards{grid-template-columns:1fr}}@media(max-width:720px){#sidebar{position:relative;inset:auto;width:100%;padding:15px 16px;border-bottom:1px solid #e1e9f0}.side-brand{padding:0;display:flex;align-items:center;justify-content:space-between}.side-logo{width:95px}.side-brand small{margin:0;font-size:8px}.nav-label,.side-user{display:none}nav{display:flex;overflow:auto;gap:6px;margin-top:13px}nav button{width:auto;flex-shrink:0;margin:0;padding:10px;font-size:9px;gap:5px}header{margin:0;height:58px;padding:12px 17px}header strong{font-size:8px}header small{font-size:6px}main{margin:0;padding:0 14px}footer{margin:25px 14px}h1{font-size:23px}.section-heading h2{font-size:18px}.guide-tabs button{font-size:10px}.card{padding:19px}.customer-panel{padding:20px 17px}}

.submit-progress{padding:19px 20px;border:1px solid #cde4f5;border-radius:10px;background:#f1f8fe;margin:20px 0}.progress-title{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:#2c719d}.progress-title span{font-variant-numeric:tabular-nums;white-space:nowrap}.upload-track{height:9px;background:#dceaf5;border-radius:9px;overflow:hidden;margin:14px 0}.upload-track i{display:block;height:100%;width:0;background:#258fc9;border-radius:9px;transition:width .18s linear}.submit-progress.waiting .upload-track i{background:repeating-linear-gradient(120deg,#258fc9 0,#258fc9 14px,#67b9e2 14px,#67b9e2 28px);background-size:40px 100%;animation:upload-stripes 1s linear infinite}.submit-progress p{font-size:11px;margin:8px 0}.submit-progress small{font-size:10px;color:#7e9aad}.submit-progress.running .progress-title b:before{content:'';display:inline-block;width:10px;height:10px;margin-right:8px;vertical-align:-1px;border:2px solid #b9dbf0;border-top-color:#237eaf;border-radius:50%;animation:upload-spin .9s linear infinite}.image-size-note{display:block;color:#57836d;font-size:10px;line-height:1.6;margin-top:10px}.persistent-receipt{position:relative;background:#f0f9f3;border:1px solid #cce7d5;border-left:4px solid #4b9b68;border-radius:11px;padding:24px 26px;margin:26px 0;overflow-wrap:anywhere}.persistent-receipt h3{font-size:17px;margin:0 0 10px;color:#2b6742}.persistent-receipt p{font-size:12px}.receipt-close{float:right;background:transparent;border:0;color:#688474;font-size:10px;padding:3px 0 8px 16px}.tracking-link{width:100%;font-size:12px;padding:13px;margin:15px 0 12px;border-color:#cde1d4;background:white;color:#24593b}.receipt-actions{display:flex;gap:10px;margin:10px 0 14px;flex-wrap:wrap}.persistent-receipt button{font-size:11px}.tour-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 10px;margin:20px 0}.tour-card-metrics>div{padding:10px;background:#f5f9fc;border-radius:7px}.tour-card-metrics strong{display:block;font-size:23px;color:#254e68}.tour-card-metrics small{display:block;font-size:9px;color:#7b93a4;margin-top:6px;line-height:1.5}.tour-completion{height:6px;background:#e7eef3;border-radius:5px;overflow:hidden}.tour-completion i{display:block;height:100%;background:#4c9a6d}.tour-detail{margin-top:28px;border-top:1px solid #e2ebf2;padding-top:25px}.tour-detail h3{font-size:19px;margin:10px 0}.tour-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:24px 0 15px}.tour-metrics button{text-align:left;padding:14px 12px;background:#f8fbfe;border-color:#e1eaf2}.tour-metrics button.selected{border-color:#66a6d0;background:#eaf5fc}.tour-metrics strong{display:block;font-size:23px;color:#265c7e}.tour-metrics small{display:block;font-size:9px;color:#708ea3;line-height:1.6;margin-top:8px}.detail-filters,.detail-pagination{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:11px;color:#6d899c}.detail-filters span,.detail-pagination span{margin-right:auto}.detail-filters button,.detail-pagination button{font-size:10px}.detail-note{white-space:normal;min-width:180px;max-width:300px;line-height:1.6}.tour-item>.primary{margin-top:8px}.tour-detail .table-wrap{margin-top:10px}@keyframes upload-spin{to{transform:rotate(360deg)}}@keyframes upload-stripes{to{background-position:40px 0}}@media(max-width:1050px){.tour-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.persistent-receipt{padding:20px 16px}.persistent-receipt h3{font-size:15px;clear:both}.tracking-link{font-size:10px}.tour-metrics{gap:7px}.tour-metrics button{padding:11px 8px}.tour-metrics strong{font-size:20px}.detail-pagination{flex-wrap:wrap}.detail-pagination span{width:100%}.progress-title{font-size:11px;align-items:flex-start}.submit-progress{padding:16px}.tour-detail h3{font-size:16px}}@media(prefers-reduced-motion:reduce){.submit-progress.running .progress-title b:before,.submit-progress.waiting .upload-track i{animation:none}.upload-track i{transition:none}}
