@font-face{font-family:Benja;src:local('Leelawadee UI')}*{box-sizing:border-box}body{margin:0;font-family:Benja,'Leelawadee UI',Tahoma,sans-serif;font-size:16px;line-height:1.65;color:#18233c;background:#f3f5f8}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{cursor:pointer;min-height:44px;border:1px solid #cbd2df;border-radius:9px;background:#fff;color:#172544;padding:9px 16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}button:hover,.button:hover{background:#edf1f8;border-color:#768baa}button:disabled{opacity:.55;cursor:wait}button.primary,.button.primary{background:#c8222d;color:#fff;border-color:#c8222d}button.primary:hover{background:#a81a24}button.navy{background:#152645;color:white;border-color:#152645}.ghost{background:transparent;border-color:transparent}.danger{color:#b61629}a{color:#173f88}h1,h2,h3,p{margin:0 0 12px}h1{font-size:28px;letter-spacing:-.4px;line-height:1.4}h2{font-size:21px}h3{font-size:17px}.muted{color:#5e6c80}.small{font-size:14px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:1.8px;color:#a7202c}.brand-logo{width:126px;height:45px;overflow:hidden;position:relative;flex:none;background:#fff;border-radius:6px}.brand-logo img{position:absolute;width:272px;height:272px;left:-10px;top:-3px;max-width:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #d5ddeb;display:flex;flex-direction:column;min-width:0;position:sticky;top:0;height:100vh;z-index:20}.brand-block{padding:22px 22px 18px;border-bottom:1px solid #e4e8ef}.brand-block small{display:block;margin-top:7px;color:#5e6c80;font-size:13px}.nav-group{padding:12px}.nav{width:100%;justify-content:flex-start;gap:12px;border:0;background:transparent;color:#43506b;margin-bottom:3px;padding:10px 12px}.nav.active{color:#a71f2b;background:#fff0ef;box-shadow:inset 3px 0 #c8222d}.nav .ico{width:33px;height:33px;border-radius:9px;display:grid;place-items:center;background:#edf2fc;color:#315d96}.nav:nth-child(2) .ico{background:#fff0de;color:#9b610a}.nav:nth-child(3) .ico{background:#e7f5ef;color:#267657}.nav:nth-child(4) .ico{background:#f8e9ef;color:#a03360}.nav.active .ico{background:#f8d9dd;color:#b0202c}.ico svg,button svg{width:20px;height:20px;flex:none;stroke-width:1.8}.section-label{display:flex;align-items:center;justify-content:space-between;margin:3px 22px 8px;color:#637188;font-size:13px;letter-spacing:.7px}.sales-list{overflow:auto;flex:1;min-height:100px;padding:0 12px 10px}.sales-select{width:100%;border:0;border-radius:7px;justify-content:flex-start;font-size:14px;font-weight:500;padding:7px 10px;min-height:40px;background:transparent}.sales-select.active{background:#e9eef7;color:#162b55;font-weight:700}.avatar{width:29px;height:29px;border-radius:8px;background:#eef1f7;color:#445471;display:grid;place-items:center;font-size:12px;flex:none}.sales-select.active .avatar{background:#17294b;color:#fff}.sales-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-footer{padding:10px 16px;border-top:1px solid #e3e7ef;display:flex;gap:8px;align-items:center}.side-footer .version{margin-left:auto;font-size:12px;color:#7b8495}.workspace{min-width:0;position:relative}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 32px;background:#152440;color:#fff;position:relative;z-index:10;border-bottom:3px solid #e3ae25}.topbar .ghost{color:#fff;border-color:#42536e}.topbar-left,.topbar-right,.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topbar-title{font-weight:600;font-size:16px}.topbar small{font-size:13px;color:#c1c9d9}.topbar-right{justify-content:flex-end}.user-badge{background:#263650;border:1px solid #41526d;border-radius:9px;padding:5px 12px;font-size:14px}.main{position:relative;z-index:2;padding:30px 32px 48px;max-width:1660px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-head p{margin:6px 0 0;font-size:14px;color:#657288}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat{background:#fff;border:1px solid #cbd6e8;border-radius:13px;padding:19px 20px;display:flex;flex-direction:column;position:relative;overflow:hidden;border-top:3px solid #244677}.stat:nth-child(2){border-top-color:#c8222d}.stat:nth-child(3){border-top-color:#be941c}.stat:nth-child(4){border-top-color:#28775c}.stat-label{font-size:14px;color:#5b6780}.stat strong{font-size:32px;line-height:1.4;letter-spacing:-1px;margin-top:6px}.stat-note{font-size:13px;color:#788496}.panel{background:#fff;border:1px solid #d1d9e6;border-radius:13px;padding:22px;margin-bottom:20px;position:relative;min-width:0}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.panel-header h2{margin:0}.tag{display:inline-block;border:1px solid #d5dcec;background:#edf1f8;border-radius:6px;font-size:13px;font-weight:600;padding:3px 9px;white-space:nowrap}.tag.active{color:#954a0f;border-color:#ecd1a2;background:#fff4df}.tag.completed{color:#206044;border-color:#b3d9c4;background:#e9f7ef}.empty{text-align:center;padding:38px 20px;background:#fafbfd;border:1px dashed #cbd6e8;border-radius:10px;color:#66758a}.empty strong{display:block;color:#243856;font-size:18px;margin-bottom:8px}.empty button{margin-top:15px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:#f4f6fa;color:#596985;font-size:13px;font-weight:600;padding:11px 12px;white-space:nowrap}td{padding:14px 12px;border-bottom:1px solid #e9edf3;vertical-align:middle}td strong{display:block;color:#213454}td small{color:#758095}td button{font-size:14px;min-height:38px;padding:6px 10px}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.toolbar label{flex:1;min-width:190px}.toolbar input{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.full{grid-column:1/-1}label{display:block;font-size:14px;font-weight:600;color:#394762}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid #becade;border-radius:8px;padding:11px 12px;min-height:46px;background:#fff;color:#18233c;font-size:16px;font-weight:400}textarea{min-height:110px;resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid #d0ddf5;border-color:#315591}input[type=checkbox]{display:inline-block;width:20px;min-height:20px;margin:0 7px 0 0;vertical-align:middle}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid #e5eaf1}.field-note{font-size:13px;font-weight:400;color:#738198;margin-top:6px}.warning{background:#fff6e7;border:1px solid #e4c684;border-radius:8px;padding:12px 15px;margin-bottom:18px;color:#765114;font-size:14px}.info{background:#edf3fd;border:1px solid #c5d6f4;border-radius:8px;padding:12px 15px;margin-bottom:18px;color:#365481;font-size:14px}.error{background:#fff0f1;color:#9f1e30;border:1px solid #efc3c9;padding:12px 16px;border-radius:8px;margin:12px 0}.success{color:#216547}.visit-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:22px}.visit-layout .panel{margin-bottom:18px}.steps{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:22px;font-size:14px}.step{color:#66758a}.step.done{color:#206547}.step.current{font-weight:700;color:#a5202c}.step-number{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid currentColor;border-radius:50%;margin-right:5px}.customer-summary{padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid #e3e8f0}.gps-details{font-size:14px;color:#5c6d83}.gps-details strong{display:block;color:#253858}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.photo-grid img{width:100%;height:110px;object-fit:cover;border-radius:8px;border:1px solid #c7d2e2}.photo-grid a{display:block}.photo-grid small{display:block;font-size:12px;color:#22624a}.upload-label{display:block;background:#f8faff;border:1px dashed #8296b6;border-radius:8px;padding:12px;margin-top:12px}.upload-label input{border:0;padding:4px;font-size:14px;background:transparent;max-width:100%}.timeline{padding:0;list-style:none}.timeline li{padding:12px 0 12px 16px;border-left:2px solid #d2dcec;font-size:14px}.timeline small{display:block;color:#6c7a8c}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.team-card{border:1px solid #d7dfeb;padding:18px;border-radius:10px;background:#fff}.team-card .row{justify-content:space-between}.team-card h3{margin:0}.team-card p{margin:6px 0 12px;font-size:14px;color:#647187}.team-card button{font-size:14px}.team-card.inactive{background:#f0f2f6}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(400px,1fr)}.auth-brand{background:#132443;color:white;padding:80px 9%;display:flex;flex-direction:column;justify-content:center;position:relative;border-bottom:10px solid #d1a326}.auth-brand .brand-logo{transform:scale(1.3);transform-origin:left;margin-bottom:36px}.auth-brand h1{font-size:42px;max-width:530px}.auth-brand p{color:#c5cede;max-width:440px;font-size:17px}.auth-brand .eyebrow{color:#efc653;margin-bottom:18px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px}.auth-form{width:100%;max-width:410px}.auth-form label{margin:18px 0}.auth-form button{width:100%}.auth-form h2{font-size:28px}.auth-footer{font-size:13px;color:#6b7890;margin-top:25px}.auth-brand .branch{margin-top:40px;padding-top:23px;border-top:1px solid #42506b;font-size:14px;color:#c2cadd}.loading{padding:80px;text-align:center}dialog{border:1px solid #bac8df;border-radius:15px;padding:27px;max-width:620px;width:calc(100% - 32px);max-height:90vh;color:#1c2c49}dialog::backdrop{background:#15233fa8}dialog form{margin:0}#notice{position:fixed;right:24px;bottom:24px;z-index:100;max-width:min(500px,calc(100vw - 36px));background:#172a49;color:#fff;border:1px solid #405373;border-radius:10px;padding:14px 20px;box-shadow:0 8px 30px #14234122;display:none}#notice.show{display:block}#notice.error-notice{background:#8f1827;border-color:#cb6471}.app-shell.collapsed{grid-template-columns:0 minmax(0,1fr)}.app-shell.collapsed .sidebar{visibility:hidden;overflow:hidden}.effects{position:fixed;inset:80px 0 0 252px;pointer-events:none;z-index:0;overflow:hidden}.effects i{position:absolute;top:-25px;width:1px;height:12px;background:#1c3567;opacity:.07;animation:fall 12s linear infinite}.effects.snow i{width:5px;height:5px;border-radius:50%;background:#708cb4;opacity:.15}.effects.sun i{width:80px;height:80px;background:#d9aa2b;border-radius:50%;opacity:.035;filter:blur(10px);animation:fall 35s linear infinite}.effects.leaves i{width:8px;height:11px;background:#bc911e;border-radius:80% 0;opacity:.12;animation:fall 20s linear infinite}.effects.off{display:none}@keyframes fall{to{transform:translate(25px,120vh)}}.border-glow .panel,.border-glow .stat{box-shadow:0 0 10px #b9983630;border-color:#b8a066}.border-flow .panel,.border-flow .stat{animation:edge 8s ease-in-out infinite}@keyframes edge{0%,100%{border-color:#b7c4dd}50%{border-color:#cfaf58}}.paused *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.effects{display:none!important}*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}@media(max-width:1100px){.topbar{padding:0 20px}.main{padding:24px 20px}.app-shell{grid-template-columns:226px minmax(0,1fr)}.visit-layout{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:15px}.team-grid{grid-template-columns:1fr}.effects{left:226px}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:0;width:260px;height:100dvh;box-shadow:10px 0 30px #15213e33;top:0;z-index:40}.app-shell.collapsed .sidebar{display:none}.topbar{height:auto;min-height:73px;padding:12px 16px}.topbar-title{font-size:14px}.topbar small{display:none}.topbar-right .user-badge{display:none}.topbar .ghost{padding:8px 10px;font-size:14px}.main{padding:22px 16px 36px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat strong{font-size:29px}.stat{padding:14px}.page-head{flex-wrap:wrap;margin-bottom:18px}.page-head h1{font-size:25px}.page-head .primary{width:100%}.panel{padding:17px;border-radius:11px}.form-grid{grid-template-columns:1fr;gap:15px}.full{grid-column:auto}.panel-header{flex-wrap:wrap}.table-wrap table{min-width:570px}.actions button{flex:1;white-space:nowrap}.effects{left:0}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{display:block}.auth-brand{padding:30px 25px}.auth-brand h1{font-size:29px}.auth-brand p,.auth-brand .branch{display:none}.auth-brand .brand-logo{transform:none;margin-bottom:20px}.auth-brand .eyebrow{font-size:12px;margin-bottom:10px}.auth-form-wrap{padding:30px 23px}.team-grid{grid-template-columns:1fr}.loading{padding:45px 20px}.topbar-left{flex-wrap:nowrap;gap:8px}.steps{font-size:13px;gap:6px}}@media print{.sidebar,.topbar,.effects,button,.upload-label,#notice,.actions{display:none!important}.app-shell,.visit-layout{display:block}.main{padding:0}.panel{break-inside:avoid;box-shadow:none!important}.photo-grid img{height:150px}.table-wrap{overflow:visible}body{background:#fff}}

[hidden]{display:none!important}
@media(max-width:760px){.table-wrap{overflow:visible}.table-wrap table{min-width:0}.table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table-wrap tbody{display:block}.table-wrap tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:15px 0;border-bottom:1px solid #dae2ef}.table-wrap td{display:block;padding:3px 0;border:0;overflow-wrap:anywhere}.table-wrap td:first-child{grid-column:1/-1;font-size:16px}.table-wrap td:last-child{justify-self:end;align-self:center}.table-wrap td button{min-height:44px}.table-wrap td small{font-size:13px}}

/* Brand stays visible beside the form, including narrow and scrolled login screens. */
.brand-lockup{display:flex;align-items:center;gap:10px;color:#14213f;max-width:100%;flex:none}.brand-emblem{display:block;width:47px;height:55px;position:relative;overflow:hidden;flex:none;background:#fff;border-radius:5px}.brand-emblem img{position:absolute;width:400px;max-width:none;height:400px;left:-20px;top:-10px}.brand-word{display:block;white-space:nowrap}.brand-word strong{font-size:31px;line-height:1.3;font-weight:800;letter-spacing:-1px}.brand-word strong span{color:#c8222d}.brand-word small{display:block;font-size:12px;letter-spacing:1px;margin:0;color:inherit}.auth-brand .brand-lockup{background:white;border-radius:12px;padding:16px 20px;align-self:flex-start;margin-bottom:30px}.auth-brand .brand-word strong,.auth-form>.brand-lockup .brand-word strong{font-size:43px}.auth-form>.brand-lockup{padding:0 0 24px;margin-bottom:24px;border-bottom:3px solid #e3b328;gap:13px}.auth-form>.brand-lockup .brand-word small{font-size:15px}.auth-form{max-width:460px}.auth-form h2{font-size:26px}.auth-form .password-toggle{width:auto;min-height:36px;font-size:13px;padding:5px 9px;margin-top:8px}.auth-form .setup-help{font-size:15px;background:#fff;border:1px solid #cbd6e8;padding:18px;border-radius:10px}.auth-form ol{padding-left:24px}.auth-form li{margin-bottom:8px}.auth-form [role=alert]{scroll-margin-top:20px}.auth-form .setup-help a{font-weight:600}.auth-form #passwordHint{color:#455774}.auth-brand .brand-word small{color:#14213f}@media(max-width:1000px){.auth-page>.auth-brand{display:none}.auth-form-wrap{min-height:100vh;padding:32px 22px}.auth-form>.brand-lockup .brand-word strong{font-size:40px}}@media(max-width:360px){.auth-form>.brand-lockup .brand-word strong{font-size:34px}}

.auth-form .password-toggle{margin-bottom:10px}.auth-form .setup-help{margin-bottom:12px}

.visit-controls{background:#fff;border:1px solid #c9d6e8;border-top:4px solid #e3b328;border-radius:13px;padding:20px;margin-bottom:22px}.visit-controls-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.visit-controls-heading h2{margin:0;font-size:20px}.visit-control-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.visit-action{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:82px;width:100%;padding:14px;text-align:left;border:1px solid #b5cbdc;border-radius:10px;color:#244a70;background:#eef5fc;font-size:16px;font-weight:700;overflow:hidden}.visit-action>svg{width:28px;height:28px;flex:none;stroke-width:1.8}.visit-action small{display:block;font-size:12px;font-weight:400;margin-top:4px}.visit-action:disabled{opacity:1;cursor:default;background:#f3f5f8;color:#737e90;border-color:#d7dee7}.visit-action.checkin-action:not(:disabled){background:#e7f5ed;border-color:#90baa2;color:#20573b}.visit-action.checkout-action:not(:disabled){background:#c8222d;border-color:#c8222d;color:white}.camera-trigger{cursor:pointer;background:#eaf2ff;color:#204e8f;border-color:#95b2df}.camera-trigger:focus-within{outline:3px solid #d0ddf5}.camera-trigger input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0;z-index:1}.visit-controls .field-note{margin-top:12px}.visit-action span{min-width:0}@media(max-width:1100px){.visit-control-buttons{gap:8px}.visit-action{gap:8px;padding:12px;font-size:14px}.visit-action>svg{width:22px;height:22px}}@media(max-width:600px){.visit-controls{padding:15px}.visit-controls-heading{align-items:flex-start}.visit-controls-heading h2{font-size:18px}.visit-control-buttons{grid-template-columns:1fr}.visit-action{font-size:16px;min-height:70px}.visit-controls .field-note{font-size:13px}}

.existing-picker{margin:0 0 22px;padding:15px;background:#f2f6fc;border:1px solid #ccd9e9;border-radius:9px}.existing-picker .field-note{display:block}.page-head:has(#returnCustomers){flex-wrap:wrap}#returnCustomers{align-self:flex-start}

#customerLater details{padding:12px 0;border-top:1px solid #dce3ee}#customerLater summary{cursor:pointer;font-weight:600;color:#244676}#customerLater form{margin-top:15px}#customerLater button[type=submit]{margin-top:14px}

[hidden]{display:none!important}.install-page{max-width:820px;margin:auto}.install-steps li{margin:10px 0}.install-steps input{font-size:14px}.install-dialog .actions{position:sticky;bottom:0;background:white;padding-bottom:8px}.camera-dialog{max-width:700px;padding:20px}.camera-dialog h2{font-size:22px;margin:0}.camera-dialog video,.camera-dialog #cameraPhoto{display:block;width:100%;max-height:48dvh;object-fit:contain;background:#111;border-radius:10px}.camera-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.camera-actions button{flex:1;min-width:120px}.camera-dialog summary{cursor:pointer;font-weight:700}.camera-dialog p{font-size:14px}.camera-dialog #cameraStatus{padding:10px;background:#edf3fd;border-radius:8px}.camera-dialog input{max-width:100%}@media(max-width:420px){.camera-dialog{padding:14px;width:calc(100% - 18px);max-height:94dvh}.camera-dialog h2{font-size:18px}.camera-dialog .panel-header{gap:8px}.install-page{padding:18px 12px}}
