@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}body{color:#1e293b;background:#f2f4f7;margin:0;font-family:Outfit,Open Sans,-apple-system,BlinkMacSystemFont,sans-serif}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-form{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:360px;padding:2rem;display:flex;box-shadow:0 2px 8px #00000014}.login-form__logo{border-radius:12px;width:180px;height:auto;margin:0 auto 1rem;display:block;box-shadow:0 4px 15px #00126b26}.login-form h1{text-align:center;color:#00126b;overflow-wrap:break-word;margin:0 0 .5rem;font-size:1.5rem;line-height:1.3}.login-form label{color:#64748b;flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.login-form input{border:1px solid #ccc;border-radius:8px;padding:.6rem .75rem;font-size:1rem}.login-form button{color:#fff;cursor:pointer;background:#00126b;border:none;border-radius:10px;padding:.7rem;font-size:1rem;font-weight:700}.login-form button:disabled{opacity:.6;cursor:default}.login-form__line-button{background:#06c755!important}.login-error{color:#b80000;margin:0;font-size:.85rem}.main-menu{max-width:480px;margin:0 auto;padding:1.5rem}.main-menu__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;display:flex}.main-menu__header>div:first-child{flex:1;min-width:0}.main-menu__header-actions{flex-shrink:0;gap:.5rem;display:flex}.main-menu__greeting{color:#64748b;margin:0;font-size:.85rem}.main-menu__header h1{color:#00126b;overflow-wrap:break-word;margin:0;font-size:1.35rem;font-weight:700;line-height:1.3}.main-menu__header button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:10px;padding:.5rem .9rem;font-family:inherit}.main-menu__placeholder{color:#64748b;text-align:center;background:#fff;border-radius:12px;padding:1.5rem}.main-menu__error{color:#b80000;background:#fdecec;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.card{background:#fff;border-radius:12px;margin-bottom:1rem;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.card h2{color:#00126b;margin:0 0 .75rem;font-size:1rem}.attendance-buttons,.job-card__attendance{flex-wrap:wrap;gap:.5rem;display:flex}.job-card__attendance{border-bottom:1px dashed #eee;margin-bottom:.75rem;padding-bottom:.75rem}.attendance-buttons button,.job-card__attendance button,.job-card__actions button,.drop-list__actions button,.close-drop-button,.payment-form button{color:#fff;cursor:pointer;background:#00126b;border:none;border-radius:10px;padding:.6rem 1rem;font-size:.9rem;font-weight:700}.attendance-buttons button:disabled,.job-card__attendance button:disabled,.job-card__actions button:disabled,.drop-list__actions button:disabled,.close-drop-button:disabled,.payment-form button:disabled{opacity:.5;cursor:default}button.secondary{color:#00126b;background:#fff;border:1px solid #00126b}.job-list{flex-direction:column;gap:.75rem;display:flex}.job-card{border:1px solid #eee;border-radius:10px;padding:1rem}.job-card--select{text-align:left;cursor:pointer;background:#fff;width:100%;transition:border-color .15s;display:block}.job-card--select:hover,.job-card--select:focus-visible{border-color:#00126b}.job-card--select .job-card__status{margin-bottom:0}.job-card__shipment{color:#64748b;margin:0 0 .25rem;font-size:.85rem}.job-card__status{margin:0 0 1rem;font-weight:600}.job-card__actions{flex-wrap:wrap;gap:.5rem;display:flex}.drop-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.drop-list__item{background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex;box-shadow:0 2px 8px #0000000f}.drop-list__customer{margin:0;font-weight:600}.drop-list__address,.drop-list__status{color:#64748b;margin:.15rem 0 0;font-size:.85rem}.drop-list__actions{gap:.5rem;display:flex}.order-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.order-list__item{border-bottom:1px solid #eee;justify-content:space-between;gap:1rem;padding-bottom:.5rem;font-size:.9rem;display:flex}.order-list__item--button{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #eee}.item-list{color:#64748b;flex-direction:column;gap:.4rem;padding:.5rem 0 .5rem 1rem;font-size:.85rem;display:flex}.item-list__row{justify-content:space-between;gap:1rem;display:flex}.item-list__name{flex:1}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.photo-grid__item img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%;display:block}.photo-grid__item--pending{position:relative}.photo-grid__item--pending img{opacity:.7;border:2px dashed #f0a500}.photo-grid__pending-badge{color:#fff;text-align:center;background:#0009;border-radius:4px;padding:.1rem 0;font-size:.65rem;position:absolute;bottom:4px;left:4px;right:4px}.photo-grid__remove-button{color:#fff;cursor:pointer;background:#b80000;border:none;border-radius:50%;width:22px;height:22px;padding:0;font-size:.75rem;line-height:1;position:absolute;top:-6px;right:-6px}.photo-upload-all-button{color:#fff;cursor:pointer;background:#1a7a3c;border:none;border-radius:10px;width:100%;margin-top:.5rem;padding:.7rem;font-size:.95rem;font-weight:700}.photo-upload-all-button:disabled{opacity:.5;cursor:default}.camera-modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.camera-modal{color:#fff;background:#111;border-radius:14px;flex-direction:column;width:100%;max-width:420px;display:flex;overflow:hidden}.camera-modal__header{justify-content:space-between;align-items:center;padding:.9rem 1rem;font-weight:600;display:flex}.camera-modal__header-actions{gap:.5rem;display:flex}.camera-modal__icon-button{color:#fff;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem}.camera-modal__video-wrap{aspect-ratio:3/4;background:#000;justify-content:center;align-items:center;display:flex}.camera-modal__video{object-fit:cover;width:100%;height:100%}.camera-modal__error{color:#ff8080;text-align:center;padding:1rem}.camera-modal__caption{text-align:center;color:#ccc;margin:0;padding:.75rem 1rem 0;font-size:.85rem}.camera-modal__actions{gap:.75rem;padding:1rem;display:flex}.camera-modal__actions button{cursor:pointer;color:#fff;background:#00126b;border:none;border-radius:10px;flex:1;padding:.7rem;font-size:.95rem;font-weight:700}.camera-modal__actions button.secondary{color:#fff;background:0 0;border:1px solid #666}.payment-form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.payment-form label{color:#64748b;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.payment-form input{border:1px solid #ccc;border-radius:8px;padding:.5rem .6rem;font-size:.9rem}.admin-users__create-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.admin-users__create-header h2{margin:0}.user-form{flex-direction:column;gap:.75rem;display:flex}.user-form label{color:#64748b;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.user-form input,.user-form select{border:1px solid #ccc;border-radius:8px;padding:.55rem .7rem;font-size:.9rem}.user-form__checkbox{align-items:center;flex-direction:row!important;gap:.5rem!important}.user-form button{color:#fff;cursor:pointer;background:#00126b;border:none;border-radius:8px;align-self:flex-start;padding:.6rem 1rem;font-size:.9rem}.user-form button:disabled{opacity:.5;cursor:default}.user-form--inline{width:100%}.user-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.user-list__item{background:#fafafa;border:1px solid #eee;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.user-list__username{margin:0;font-weight:600}.user-list__inactive{color:#b80000;font-size:.8rem;font-weight:400}.user-list__meta{color:#64748b;margin:.15rem 0 0;font-size:.85rem}.user-list__actions{gap:.5rem;display:flex}.user-list__actions button{cursor:pointer;border-radius:8px;padding:.5rem .8rem;font-size:.85rem}.user-list__actions button[type=submit]{color:#fff;background:#00126b;border:none}.close-drop-button{background:#1a7a3c;width:100%;padding:.9rem;font-size:1rem}.tracking-page{background:#dcd8d0;min-height:100vh;padding:24px 16px 48px;font-family:IBM Plex Sans Thai,system-ui,sans-serif}.tracking-page__header{text-align:center;max-width:640px;margin:0 auto 20px}.tracking-page__header h1{color:#16202b;margin:0 0 6px;font-size:1.4rem;font-weight:600}.tracking-page__header p{color:#6b6459;margin:0;font-size:.9rem}.tracking-page__error{color:#b4382a;text-align:center;background:#b4382a1f;border:1px solid #b4382a66;border-radius:10px;max-width:640px;margin:0 auto 16px;padding:.8rem 1rem;font-size:.9rem}.tracking-page__placeholder{text-align:center;color:#8a8378;max-width:640px;margin:0 auto;font-size:.9rem}.tracking-page__footer{text-align:center;color:#a39b8f;padding:8px 0 0;font-size:.75rem}.tracking-result{flex-direction:column;gap:18px;max-width:640px;margin:0 auto;display:flex}.tracking-hero{background:#c25a2c29;border:1px solid #c25a2c73;border-radius:16px;padding:18px 20px}.tracking-hero[data-reached="4"]{background:#1f7a5524;border-color:#1f7a5566}.tracking-hero[data-reached="-1"]{background:#a39b8f24;border-color:#a39b8f66}.tracking-hero__kicker{letter-spacing:.1em;text-transform:uppercase;color:#c25a2c;align-items:center;gap:8px;font-size:.72rem;font-weight:600;display:flex}.tracking-hero[data-reached="4"] .tracking-hero__kicker{color:#1f7a55}.tracking-hero__dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.tracking-hero__title{color:#16202b;margin-top:8px;font-size:1.25rem;font-weight:600}.tracking-hero__meta{color:#6b6459;flex-wrap:wrap;gap:16px;margin-top:8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;display:flex}.tracking-stepper{background:#f5f3ef;border-radius:16px;padding:16px 8px}.tracking-stepper__scroll{padding:4px 12px 6px;display:flex;overflow-x:auto}.tracking-stepper__node-wrap{flex:none;align-items:flex-start;display:flex}.tracking-stepper__col{flex-direction:column;align-items:center;gap:6px;width:74px;display:flex}.tracking-stepper__node{color:#fff;background:#fff;border:1.5px solid #d8d2c7;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;display:flex}.tracking-stepper__node--done{background:#1f7a55;border-color:#1f7a55}.tracking-stepper__node--current{background:#c25a2c;border-color:#c25a2c}.tracking-stepper__label{color:#a39b8f;text-align:center;font-size:.68rem;line-height:1.3}.tracking-stepper__label--active{color:#241f18;font-weight:500}.tracking-stepper__bar{background:#ddd7cc;flex:none;width:14px;height:2px;margin-top:13px}.tracking-stepper__bar--done{background:#1f7a55}.tracking-timeline h2,.tracking-items h2,.tracking-destination h2{color:#16202b;margin:0 0 12px;font-size:.95rem;font-weight:600}.tracking-timeline__list{flex-direction:column;display:flex}.tracking-timeline__row{gap:12px;display:flex}.tracking-timeline__rail{flex-direction:column;flex:none;align-items:center;width:20px;padding-top:14px;display:flex}.tracking-timeline__dot{background:#fff;border:1.5px solid #d8d2c7;border-radius:50%;flex:none;width:10px;height:10px}.tracking-timeline__dot--done{background:#1f7a55;border:none}.tracking-timeline__line{background:#e4e0d8;flex:1;width:1.5px;min-height:12px}.tracking-timeline__card{flex:1;min-width:0;padding:12px 0 14px}.tracking-timeline__card--current{background:#fff;border:1px solid #e4e0d8;border-radius:12px;padding:10px 12px;box-shadow:0 2px 10px -4px #00000024}.tracking-timeline__row-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tracking-timeline__label{color:#241f18;font-size:.9rem;font-weight:500}.tracking-timeline__label--pending{color:#8a8378}.tracking-timeline__time{color:#241f18;flex:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem}.tracking-timeline__note{color:#a39b8f;margin-top:4px;font-size:.8rem}.tracking-items__head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.tracking-items__head span{color:#8a8378;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem}.tracking-items__table{background:#fff;border:1px solid #e4e0d8;border-radius:14px;overflow:hidden}.tracking-items__row{border-bottom:1px solid #f0ece5;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 15px;display:grid}.tracking-items__row:last-child{border-bottom:none}.tracking-items__row--head{letter-spacing:.08em;text-transform:uppercase;color:#a39b8f;background:#faf8f5;font-size:.68rem}.tracking-items__name{color:#241f18;font-size:.9rem}.tracking-items__code{color:#a39b8f;margin-top:3px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.tracking-items__qty{color:#241f18;text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600}.tracking-destination__card{background:#fff;border:1px solid #e4e0d8;border-radius:14px;flex-direction:column;gap:12px;padding:16px 15px;display:flex}.tracking-destination__divider{background:#f0ece5;height:1px}.tracking-destination__label{letter-spacing:.08em;text-transform:uppercase;color:#a39b8f;font-size:.68rem}.tracking-destination__value{color:#241f18;margin-top:5px;font-size:.9rem}
