
/* <inline asset> */
@charset "UTF-8"; 

/* /promptprint_liff_apps/static/src/css/tokens.css */
 :root{--pp-magenta: #EC008C; --pp-magenta-2: #FF2AA4; --pp-yellow: #FFC400; --pp-cyan: #00B8D4; --pp-blue: #1A4FCF; --pp-blue-2: #2A5FE0; --pp-ink: #0F1A3A; --pp-mute: #6B7795; --pp-line: #DFE4EF; --pp-bg: #F6F8FC; --pp-paper: #FFFFFF; --pp-line-green: #06C755; --pp-line-green-2: #05B34B; --pp-magenta-rgb: 236, 0, 140; --pp-ink-rgb: 15, 26, 58; --pp-line-green-rgb: 6, 199, 85; --pp-cmyk-stripe: linear-gradient( 90deg, var(--pp-cyan) 0 25%, var(--pp-magenta) 25% 50%, var(--pp-yellow) 50% 75%, var(--pp-ink) 75% 100% ); --pp-font-sans: "Prompt", "Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; --pp-w-body: 500; --pp-w-emph: 700; --pp-w-head: 800; --pp-w-display: 900; --pp-ls-tight: -0.018em; --pp-ls-normal: 0; --pp-ls-upper: 0.14em; --pp-fs-micro: 11.5px; --pp-fs-xs: 12.5px; --pp-fs-sm: 13.5px; --pp-fs-md: 14px; --pp-fs-lg: 16px; --pp-fs-xl: 20px; --pp-fs-2xl: clamp(22px, 5vw, 28px); --pp-fs-3xl: clamp(26px, 6.5vw, 36px); --pp-fs-4xl: clamp(32px, 8vw, 48px); --pp-lh-tight: 1.15; --pp-lh-normal: 1.45; --pp-lh-loose: 1.6; --pp-r-xs: 6px; --pp-r-sm: 8px; --pp-r-md: 12px; --pp-r-lg: 16px; --pp-r-xl: 20px; --pp-r-pill: 999px; --pp-shadow-card: 0 20px 48px -20px rgba(var(--pp-ink-rgb), 0.20); --pp-shadow-btn: 0 14px 28px -10px rgba(var(--pp-magenta-rgb), 0.50); --pp-shadow-line: 0 14px 28px -10px rgba(var(--pp-line-green-rgb), 0.45); --pp-shadow-sm: 0 2px 6px rgba(var(--pp-ink-rgb), 0.06); --pp-shadow-pop: 0 8px 24px -6px rgba(var(--pp-ink-rgb), 0.18); --pp-space-1: 4px; --pp-space-2: 8px; --pp-space-3: 12px; --pp-space-4: 16px; --pp-space-5: 20px; --pp-space-6: 24px; --pp-space-8: 32px; --pp-space-10: 40px; --pp-space-12: 48px; --pp-space-16: 64px; --pp-tap-min: 44px; --pp-tap-comfy: 48px; --pp-safe-top: env(safe-area-inset-top, 0px); --pp-safe-bottom: env(safe-area-inset-bottom, 0px); --pp-safe-left: env(safe-area-inset-left, 0px); --pp-safe-right: env(safe-area-inset-right, 0px); --pp-ease: cubic-bezier(0.2, 0.7, 0.2, 1); --pp-ease-out: cubic-bezier(0.16, 1, 0.3, 1); --pp-dur-fast: .12s; --pp-dur: .15s; --pp-dur-slow: .25s; --pp-z-header: 100; --pp-z-sticky: 200; --pp-z-overlay: 900; --pp-z-modal: 1000; --pp-z-toast: 1100;}@media (prefers-reduced-motion: reduce){:root{--pp-dur-fast: 0s; --pp-dur: 0s; --pp-dur-slow: 0s;}}

/* /promptprint_liff_apps/static/src/css/components.css */
 .pp-page{font-family: var(--pp-font-sans); font-weight: var(--pp-w-body); font-size: var(--pp-fs-md); line-height: var(--pp-lh-normal); color: var(--pp-ink); background: var(--pp-bg); padding-top: var(--pp-safe-top); padding-bottom: var(--pp-safe-bottom); padding-left: var(--pp-safe-left); padding-right: var(--pp-safe-right); -webkit-tap-highlight-color: transparent;}.pp-h1{font-weight: var(--pp-w-head); font-size: var(--pp-fs-4xl); line-height: var(--pp-lh-tight); letter-spacing: var(--pp-ls-tight);}.pp-h2{font-weight: var(--pp-w-head); font-size: var(--pp-fs-3xl); line-height: var(--pp-lh-tight); letter-spacing: var(--pp-ls-tight);}.pp-h3{font-weight: var(--pp-w-head); font-size: var(--pp-fs-2xl); line-height: var(--pp-lh-tight);}.pp-title{font-weight: var(--pp-w-emph); font-size: var(--pp-fs-xl); line-height: var(--pp-lh-tight);}.pp-muted{color: var(--pp-mute);}.pp-numeric{font-weight: var(--pp-w-display); font-variant-numeric: tabular-nums;}.pp-btn{display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: var(--pp-tap-min); padding: 12px 18px; border-radius: var(--pp-r-md); font-family: inherit; font-weight: var(--pp-w-head); font-size: var(--pp-fs-sm); line-height: 1; text-decoration: none; cursor: pointer; border: none; transition: background var(--pp-dur) var(--pp-ease), transform var(--pp-dur-fast) var(--pp-ease);}.pp-btn:active{transform: scale(0.98);}.pp-btn:disabled{opacity: 0.5; cursor: not-allowed;}.pp-btn--primary{background: var(--pp-magenta); color: #fff; box-shadow: var(--pp-shadow-btn);}.pp-btn--primary:hover{background: var(--pp-magenta-2);}.pp-btn--line{background: var(--pp-line-green); color: #fff; box-shadow: var(--pp-shadow-line);}.pp-btn--line:hover{background: var(--pp-line-green-2);}.pp-btn--ghost{background: transparent; color: var(--pp-ink); border: 1px solid var(--pp-line);}.pp-btn--ghost:hover{background: var(--pp-bg);}.pp-btn--ghost-dark{background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, 0.35);}.pp-btn--block{width: 100%;}.pp-eyebrow{display: inline-block; font-size: var(--pp-fs-micro); letter-spacing: var(--pp-ls-upper); text-transform: uppercase; font-weight: var(--pp-w-head); padding: 4px 11px; border-radius: var(--pp-r-pill);}.pp-eyebrow--magenta{color: var(--pp-magenta); background: #fdeaf4;}.pp-eyebrow--cyan{color: var(--pp-cyan); background: #e0f6fa;}.pp-eyebrow--yellow{color: #a87a00; background: #fff6da;}.pp-eyebrow--blue{color: var(--pp-blue); background: #eef3ff;}.pp-eyebrow--ink{color: var(--pp-ink); background: #e9edf7;}.pp-cmyk-stripe{height: 4px; background: var(--pp-cmyk-stripe);}.pp-card{background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: var(--pp-r-lg); padding: var(--pp-space-5);}.pp-card--elevated{border: none; box-shadow: var(--pp-shadow-card);}.pp-row{display: flex; align-items: center; gap: var(--pp-space-3); min-height: var(--pp-tap-comfy); padding: var(--pp-space-3) var(--pp-space-4); background: var(--pp-paper); border-bottom: 1px solid var(--pp-line); color: var(--pp-ink); text-decoration: none;}.pp-row:active{background: var(--pp-bg);}.pp-row__main{flex: 1; min-width: 0;}.pp-row__meta{color: var(--pp-mute); font-size: var(--pp-fs-xs);}.pp-sticky-cta{position: sticky; bottom: 0; left: 0; right: 0; padding: var(--pp-space-3) var(--pp-space-4); padding-bottom: calc(var(--pp-space-3) + var(--pp-safe-bottom)); background: var(--pp-paper); border-top: 1px solid var(--pp-line); box-shadow: 0 -4px 14px rgba(var(--pp-ink-rgb), 0.06); z-index: var(--pp-z-sticky);}.pp-sheet{position: fixed; left: 0; right: 0; bottom: 0; background: var(--pp-paper); border-top-left-radius: var(--pp-r-xl); border-top-right-radius: var(--pp-r-xl); box-shadow: var(--pp-shadow-pop); padding: var(--pp-space-5); padding-bottom: calc(var(--pp-space-5) + var(--pp-safe-bottom)); z-index: var(--pp-z-modal); transform: translateY(0); transition: transform var(--pp-dur-slow) var(--pp-ease-out);}.pp-sheet[hidden]{transform: translateY(100%); display: block;}.pp-sheet__grabber{width: 36px; height: 4px; margin: 0 auto var(--pp-space-3); border-radius: var(--pp-r-pill); background: var(--pp-line);}.pp-overlay{position: fixed; inset: 0; background: rgba(var(--pp-ink-rgb), 0.45); z-index: var(--pp-z-overlay);}.pp-btn:focus-visible, .pp-row:focus-visible, .pp-input:focus-visible{outline: 2px solid var(--pp-magenta); outline-offset: 2px;}.pp-stack{display: flex; flex-direction: column; gap: var(--pp-space-4);}.pp-stack--sm{gap: var(--pp-space-2);}.pp-stack--lg{gap: var(--pp-space-6);}.pp-input{width: 100%; box-sizing: border-box; min-height: var(--pp-tap-min); padding: 11px 13px; border: 1px solid var(--pp-line); background: var(--pp-paper); border-radius: var(--pp-r-sm); font-family: inherit; font-size: var(--pp-fs-md); color: var(--pp-ink); transition: border-color var(--pp-dur) var(--pp-ease), box-shadow var(--pp-dur) var(--pp-ease);}.pp-input:focus{outline: none; border-color: var(--pp-magenta); box-shadow: 0 0 0 3px rgba(var(--pp-magenta-rgb), 0.12);}.pp-input:disabled{background: var(--pp-bg); color: var(--pp-mute); cursor: not-allowed;}.pp-input--textarea{min-height: 88px; resize: vertical; line-height: var(--pp-lh-normal);}.pp-input--error{border-color: #c1272d;}.pp-input--error:focus{box-shadow: 0 0 0 3px rgba(193, 39, 45, 0.12);}.pp-input__label{display: block; font-size: var(--pp-fs-xs); font-weight: var(--pp-w-head); color: var(--pp-mute); margin-bottom: 6px; letter-spacing: 0.2px;}.pp-input__counter{display: block; text-align: right; margin-top: 4px; font-size: 11px; color: var(--pp-mute); font-variant-numeric: tabular-nums;}.pp-input__error-msg{display: block; margin-top: 4px; font-size: var(--pp-fs-xs); color: #c1272d; font-weight: var(--pp-w-emph);}.pp-input-group{position: relative;}.pp-input-group > .pp-input{padding-right: 60px;}.pp-input-group > .pp-input-group__suffix{position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--pp-mute); font-size: var(--pp-fs-xs); font-weight: var(--pp-w-emph); pointer-events: none;}.pp-field-row{display: grid; gap: var(--pp-space-2); grid-template-columns: 1fr 1fr;}.pp-field-row--3{grid-template-columns: 1fr 1fr auto;}.pp-combobox{position: relative;}.pp-combobox__input{padding-right: 32px;}.pp-combobox__clear{position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; border: none; background: transparent; color: var(--pp-mute); font-size: 18px; line-height: 1; cursor: pointer; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0;}.pp-combobox__clear:hover, .pp-combobox__clear:focus-visible{background: var(--pp-bg); color: var(--pp-ink); outline: none;}.pp-combobox__menu{position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: var(--pp-z-popover, 50); margin: 0; padding: 4px 0; list-style: none; background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: var(--pp-r-md); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08); max-height: 240px; overflow-y: auto;}.pp-combobox__option{padding: 10px 14px; font-size: var(--pp-fs-sm); color: var(--pp-ink); cursor: pointer; transition: background var(--pp-dur, .15s) var(--pp-ease, ease);}.pp-combobox__option:hover, .pp-combobox__option:focus{background: var(--pp-bg);}.pp-combobox__option.is-selected{background: #eef3ff; color: var(--pp-blue); font-weight: var(--pp-w-emph);}.pp-combobox__empty{padding: 10px 14px; font-size: var(--pp-fs-xs); color: var(--pp-mute); font-style: italic; cursor: default;}.chip-toggle{display: inline-block; padding: 6px 12px; border: 1px solid var(--pp-line); border-radius: var(--pp-r-pill); background: var(--pp-paper); color: var(--pp-ink); font-size: var(--pp-fs-xs); font-weight: var(--pp-w-emph); cursor: pointer; user-select: none; transition: all .15s ease;}.chip-toggle.is-on{background: var(--pp-magenta); border-color: var(--pp-magenta); color: white;}

/* /promptprint_liff_apps/static/src/css/liff_apps.css */
 .chip-button{display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: var(--pp-r-pill); background: var(--pp-paper); border: 1px solid var(--pp-line); font-size: var(--pp-fs-xs); font-weight: var(--pp-w-emph); color: var(--pp-ink); cursor: pointer; white-space: nowrap; user-select: none; transition: background var(--pp-dur) var(--pp-ease), color var(--pp-dur) var(--pp-ease), border-color var(--pp-dur) var(--pp-ease);}.chip-button:active{transform: scale(0.97);}.chip-button--active{background: var(--pp-ink); color: #fff; border-color: var(--pp-ink);}.chip-button .chip-count{background: var(--pp-bg); color: var(--pp-mute); padding: 1px 6px; border-radius: var(--pp-r-pill); font-size: 10.5px; font-weight: var(--pp-w-display);}.chip-button--active .chip-count{background: rgba(255,255,255,0.18); color: #fff;}.ptype-chip{display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: var(--pp-r-pill); font-size: 10.5px; font-weight: var(--pp-w-head); background: var(--pp-bg); color: var(--pp-ink); border: 1px solid var(--pp-line); white-space: nowrap;}.ptype-dot{width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0;}.stage-badge{display: inline-block; padding: 2px 9px; border-radius: var(--pp-r-pill); font-size: 10.5px; font-weight: var(--pp-w-head); letter-spacing: 0.3px; background: #eef3ff; color: var(--pp-blue); white-space: nowrap;}.qo-state{display: inline-block; padding: 2px 9px; border-radius: var(--pp-r-pill); font-size: 10.5px; font-weight: var(--pp-w-head); letter-spacing: 0.3px; white-space: nowrap;}.qo-state--draft{background: #e9edf7; color: var(--pp-mute);}.qo-state--waiting, .qo-state--edit_quote, .qo-state--quoted, .qo-state--quotation, .qo-state--sent{background: #eef3ff; color: var(--pp-blue);}.qo-state--approved, .qo-state--sale{background: #fff6da; color: #a87a00;}.qo-state--saleorder, .qo-state--completed, .qo-state--done{background: #fdeaf4; color: var(--pp-magenta);}.qo-state--cancel{background: #e9edf7; color: var(--pp-mute); text-decoration: line-through;}.inv-state{display: inline-block; padding: 2px 9px; border-radius: var(--pp-r-pill); font-size: 10.5px; font-weight: var(--pp-w-head); letter-spacing: 0.3px; white-space: nowrap;}.inv-state--not_paid{background: #fce3e3; color: #c1272d;}.inv-state--partial{background: #fff6da; color: #a87a00;}.inv-state--in_payment{background: #eef3ff; color: var(--pp-blue);}.inv-state--paid{background: #d6f5e2; color: #058748;}.inv-state--reversed{background: #e9edf7; color: var(--pp-mute);}

/* /promptprint_liff_apps/static/src/liff/customer_portal.scss */
 .cust-portal{min-height: 100vh; display: flex; flex-direction: column; background: var(--pp-bg);}.cust-portal .cust-stripe{height: 4px; background: var(--pp-magenta);}.cust-portal .cust-hdr{position: sticky; top: var(--pp-safe-top, 0); z-index: var(--pp-z-header); background: var(--pp-paper); border-bottom: 1px solid var(--pp-line); padding: 14px 16px 12px; display: flex; align-items: center; gap: 11px;}.cust-portal .cust-hdr .cust-hdr-title{font-size: 17px; font-weight: var(--pp-w-head);}.cust-portal .cust-hdr .cust-hdr-sub{font-size: 11px; color: var(--pp-mute);}.cust-portal .cust-hdr .cust-avatar{width: 42px; height: 42px; border-radius: var(--pp-r-pill); object-fit: cover; flex: 0 0 auto; background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-2)); border: 2px solid rgba(var(--pp-magenta-rgb), 0.25);}.cust-portal .cust-body{flex: 1; padding: 14px 12px 32px; display: flex; flex-direction: column; gap: 12px;}.cust-portal .cust-boot, .cust-portal .cust-state{flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: var(--pp-mute); padding: 40px 24px; text-align: center; min-height: 50vh;}.cust-portal .cust-spinner{width: 28px; height: 28px; border-radius: 50%; border: 3px solid var(--pp-line); border-top-color: var(--pp-magenta); animation: pp-spin .8s linear infinite;}.cust-portal .cust-rows{border: 1px solid var(--pp-line); border-radius: var(--pp-r-lg); overflow: hidden; background: var(--pp-paper); box-shadow: var(--pp-shadow-sm);}.cust-portal .cust-row{display: flex; align-items: center; gap: 12px; min-height: var(--pp-tap-comfy); padding: 13px 14px; border-bottom: 1px solid var(--pp-line); cursor: pointer;}.cust-portal .cust-row:last-child{border-bottom: none;}.cust-portal .cust-row:active{background: var(--pp-bg);}.cust-portal .cust-row .cust-row-ico{width: 38px; height: 38px; border-radius: var(--pp-r-pill); background: rgba(var(--pp-magenta-rgb), 0.08); display: flex; align-items: center; justify-content: center; font-size: 18px; flex: 0 0 auto;}.cust-portal .cust-row .cust-row-main{flex: 1; min-width: 0;}.cust-portal .cust-row .cust-row-title{font-size: 14px; font-weight: var(--pp-w-emph);}.cust-portal .cust-row .cust-row-meta{font-size: 11px; color: var(--pp-mute); margin-top: 1px;}.cust-portal .cust-row .cust-row-arrow{color: var(--pp-mute); font-size: 18px;}.cust-portal .cust-chip{font-size: 10px; font-weight: 800; padding: 3px 10px; border-radius: var(--pp-r-pill); white-space: nowrap;}.cust-portal .cust-chip--magenta{background: rgba(var(--pp-magenta-rgb), 0.12); color: var(--pp-magenta);}.cust-portal .cust-chip--cyan{background: rgba(46, 139, 230, 0.12); color: #2E8BE6;}.cust-portal .cust-chip--blue{background: rgba(43, 92, 230, 0.12); color: #2B5CE6;}.cust-portal .cust-chip--rose{background: rgba(220, 38, 38, 0.1); color: #DC2626;}.cust-portal .cust-backbar{position: sticky; top: var(--pp-safe-top, 0); z-index: var(--pp-z-sticky); background: var(--pp-paper); border-bottom: 1px solid var(--pp-line); padding: 11px 16px; font-size: 13px; font-weight: var(--pp-w-emph); color: var(--pp-magenta); cursor: pointer; display: flex; align-items: center; gap: 4px; box-shadow: var(--pp-shadow-sm);}.cust-portal .cust-backbar:active{background: var(--pp-bg);}.cust-portal .cust-backbar .cust-back-arrow{font-size: 20px; line-height: 1;}.cust-portal .cust-child{flex: 1; min-width: 0;}

/* /promptprint_liff_approval/static/src/liff/approval.scss */
 .ppla-approval{--pp-blue-900: #0B3C91; --pp-blue-700: #1463C6; --pp-blue-500: #2E8BE6; --pp-blue-50: #EAF3FF; --pp-bg: #FFFFFF; --pp-bg-alt: #F6F8FB; --pp-border: #E3E7EE; --pp-text: #1F2937; --pp-text-mute: #6B7280; --pp-ok: #16A34A; --pp-ok-bg: #E7F6EC; --pp-warn: #F5A524; --pp-warn-bg: #FEF3DD; --pp-danger: #DC2626; --pp-danger-bg: #FCEBEB; --pp-radius-md: 10px; --pp-radius-lg: 16px; --pp-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05); font-family: "Noto Sans Thai", "Sarabun", "Prompt", "Segoe UI", sans-serif; font-size: 15px; color: var(--pp-text); background: var(--pp-bg-alt); min-height: 100vh; display: flex; flex-direction: column; padding-bottom: 64px;}.ppla-approval .ppla-cmyk{display: flex; height: 5px; flex-shrink: 0;}.ppla-approval .ppla-cmyk__c{flex: 1; background: #00B8D4;}.ppla-approval .ppla-cmyk__m{flex: 1; background: #EC008C;}.ppla-approval .ppla-cmyk__y{flex: 1; background: #FFC400;}.ppla-approval .ppla-cmyk__k{flex: 1; background: #0F1A3A;}.ppla-approval .ppla-boot{padding: 70px 20px; text-align: center;}.ppla-approval .ppla-spinner{display: inline-block; width: 32px; height: 32px; border: 3px solid var(--pp-blue-50); border-top-color: var(--pp-blue-700); border-radius: 50%; animation: ppla-spin .8s linear infinite;}.ppla-approval .ppla-boot__label{margin-top: 16px; color: var(--pp-text-mute); font-size: 14px; font-weight: 500;}.ppla-approval .ppla-state{padding: 64px 28px; text-align: center;}.ppla-approval .ppla-state__icon{font-size: 42px; margin-bottom: 12px;}.ppla-approval .ppla-state__title{font-weight: 700; font-size: 18px; color: var(--pp-text); margin-bottom: 6px;}.ppla-approval .ppla-state__msg{font-size: 14px; color: var(--pp-text-mute); line-height: 1.5;}.ppla-approval .ppla-hdr{padding: 20px 18px 18px; background: linear-gradient(135deg, var(--pp-blue-900), var(--pp-blue-700)); color: #fff; flex-shrink: 0;}.ppla-approval .ppla-hdr__row{display: flex; align-items: center; gap: 10px;}.ppla-approval .ppla-hdr__title{font-size: 20px; font-weight: 800; display: flex; align-items: center; gap: 8px;}.ppla-approval .ppla-hdr__title--sm{font-size: 17px;}.ppla-approval .ppla-hdr__sub{font-size: 12.5px; opacity: .85; margin-top: 3px;}.ppla-approval .ppla-back{width: 30px; height: 30px; border-radius: 50%; background: rgba(255, 255, 255, 0.18); border: none; color: #fff; font-size: 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer;}.ppla-approval .ppla-back:active{background: rgba(255, 255, 255, 0.32);}.ppla-approval .ppla-body{flex: 1; overflow-y: auto; padding: 14px; -webkit-overflow-scrolling: touch;}.ppla-approval .ppla-errstrip{margin: 10px 12px 0; padding: 9px 12px; border-radius: var(--pp-radius-md); background: #FEF2F2; border: 1px solid var(--pp-danger); color: #991B1B; font-size: 13px; font-weight: 500; line-height: 1.4;}.ppla-approval .ppla-empty{padding: 56px 24px; text-align: center; color: var(--pp-text-mute);}.ppla-approval .ppla-empty__icon{font-size: 40px; margin-bottom: 10px;}.ppla-approval .ppla-empty__title{font-weight: 700; color: var(--pp-text);}.ppla-approval .ppla-empty__msg{font-size: 13px; margin-top: 6px; line-height: 1.45;}.ppla-approval .ppla-list{padding: 8px 0 4px;}.ppla-approval .ppla-card{background: var(--pp-bg); border: 1px solid var(--pp-border); border-radius: var(--pp-radius-lg); padding: 14px; box-shadow: var(--pp-shadow-sm); margin: 0 0 12px;}.ppla-approval .ppla-card--tap{cursor: pointer;}.ppla-approval .ppla-card--tap:active{background: var(--pp-bg-alt);}.ppla-approval .ppla-card__row{display: flex; justify-content: space-between; align-items: center; gap: 8px;}.ppla-approval .ppla-code{font-size: 12px; color: var(--pp-text-mute); font-weight: 600;}.ppla-approval .ppla-title{font-size: 15.5px; font-weight: 800; color: var(--pp-text); margin: 3px 0 2px; line-height: 1.3;}.ppla-approval .ppla-type-tag{font-size: 11.5px; font-weight: 700; color: var(--pp-blue-700); background: var(--pp-blue-50); padding: 3px 9px; border-radius: 7px; display: inline-block;}.ppla-approval .ppla-meta{font-size: 12.5px; color: var(--pp-text-mute); margin-top: 5px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap;}.ppla-approval .ppla-amt{font-size: 16px; font-weight: 800; color: var(--pp-blue-900);}.ppla-approval .ppla-hint{font-size: 12px; color: var(--pp-blue-700); font-weight: 700; margin-top: 10px; text-align: right;}.ppla-approval [class^="ppla-pill--"], .ppla-approval [class*=" ppla-pill--"]{font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 999px; white-space: nowrap; flex-shrink: 0;}.ppla-approval .ppla-pill--wait{background: var(--pp-warn-bg); color: #B26A00;}.ppla-approval .ppla-pill--ok{background: var(--pp-ok-bg); color: #0F7A37;}.ppla-approval .ppla-pill--no{background: var(--pp-danger-bg); color: #B42318;}.ppla-approval .ppla-open{display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: #fff; border: 1.5px solid var(--pp-blue-700); color: var(--pp-blue-700); font-weight: 800; font-size: 14px; border-radius: 12px; padding: 12px; margin-bottom: 12px; cursor: pointer; text-decoration: none;}.ppla-approval .ppla-open small{font-weight: 600; color: var(--pp-text-mute); font-size: 11px;}.ppla-approval .ppla-open:active{background: var(--pp-blue-50);}.ppla-approval .ppla-kv{display: flex; justify-content: space-between; font-size: 13px; padding: 7px 0; border-bottom: 1px dashed var(--pp-border);}.ppla-approval .ppla-kv:last-child{border-bottom: none;}.ppla-approval .ppla-kv__k{color: var(--pp-text-mute);}.ppla-approval .ppla-kv__v{font-weight: 700; text-align: right;}.ppla-approval .ppla-kv__v--blue{color: var(--pp-blue-900);}.ppla-approval .ppla-sec-label{font-size: 11px; font-weight: 800; color: var(--pp-text-mute); margin: 4px 0 8px; text-transform: uppercase; letter-spacing: .04em;}.ppla-approval .ppla-desc{font-size: 13px; color: #374151; line-height: 1.5; background: var(--pp-bg-alt); border-radius: 10px; padding: 10px 12px;}.ppla-approval .ppla-step{display: flex; gap: 11px; align-items: flex-start; padding: 9px 0;}.ppla-approval .ppla-step--now .ppla-step__t{color: #B26A00;}.ppla-approval .ppla-stepline{margin-left: 11px; border-left: 2px solid var(--pp-border); height: 8px;}.ppla-approval .ppla-dot{width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #fff; margin-top: 1px;}.ppla-approval .ppla-dot--done{background: var(--pp-ok);}.ppla-approval .ppla-dot--now{background: var(--pp-warn);}.ppla-approval .ppla-dot--todo{background: #CBD5E1; color: #64748B;}.ppla-approval .ppla-step__t{font-size: 13.5px; font-weight: 700;}.ppla-approval .ppla-step__s{font-size: 12px; color: var(--pp-text-mute); margin-top: 1px;}.ppla-approval .ppla-attach{display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--pp-blue-700); background: var(--pp-blue-50); border-radius: 10px; padding: 9px 12px; font-weight: 600; margin-top: 6px;}.ppla-approval .ppla-foot{padding: 12px 14px 16px; background: var(--pp-bg); border-top: 1px solid var(--pp-border); display: flex; gap: 10px; flex-shrink: 0;}.ppla-approval .ppla-foot--sheet{border-top: none; padding: 14px 0 0;}.ppla-approval .ppla-foot--solo{border-top: none; padding: 14px;}.ppla-approval .ppla-btn{flex: 1; border: none; border-radius: 12px; padding: 13px; font-size: 15px; font-weight: 800; font-family: inherit; display: flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer;}.ppla-approval .ppla-btn:disabled{opacity: .45; cursor: default;}.ppla-approval .ppla-btn--approve{background: var(--pp-ok); color: #fff;}.ppla-approval .ppla-btn--refuse{background: #fff; color: var(--pp-danger); border: 1.5px solid var(--pp-danger);}.ppla-approval .ppla-btn--danger{background: var(--pp-danger); color: #fff;}.ppla-approval .ppla-btn--full{width: 100%; background: var(--pp-blue-700); color: #fff;}.ppla-approval .ppla-btn--outline{background: #fff; color: var(--pp-blue-700); border: 1.5px solid var(--pp-blue-700);}.ppla-approval .ppla-btn--sm{flex: 0.8;}.ppla-approval .ppla-btn--lg{flex: 1.2;}.ppla-approval .ppla-scrim{position: fixed; inset: 0; background: rgba(11, 26, 51, 0.55); z-index: 40;}.ppla-approval .ppla-sheet{position: fixed; left: 0; right: 0; bottom: 0; z-index: 41; background: #fff; border-radius: 20px 20px 0 0; padding: 18px 16px calc(16px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.22);}.ppla-approval .ppla-sheet__grab{width: 42px; height: 5px; border-radius: 3px; background: #D7DEE8; margin: 0 auto 14px;}.ppla-approval .ppla-sheet__t{font-size: 17px; font-weight: 800; margin-bottom: 4px;}.ppla-approval .ppla-sheet__n{font-size: 12.5px; color: var(--pp-text-mute); margin-bottom: 12px;}.ppla-approval .ppla-ta{width: 100%; min-height: 84px; border: 1.5px solid var(--pp-border); border-radius: 12px; padding: 11px; font-family: inherit; font-size: 13.5px; resize: vertical; color: var(--pp-text);}.ppla-approval .ppla-ta:focus{outline: none; border-color: var(--pp-blue-500);}.ppla-approval .ppla-done{flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center;}.ppla-approval .ppla-done__tick{width: 90px; height: 90px; border-radius: 50%; background: var(--pp-ok); color: #fff; font-size: 50px; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; box-shadow: 0 10px 30px rgba(22, 163, 74, 0.4);}.ppla-approval .ppla-done__t{font-size: 22px; font-weight: 800; margin-bottom: 8px;}.ppla-approval .ppla-done__s{font-size: 14px; color: var(--pp-text-mute); line-height: 1.5;}.ppla-approval .ppla-profile__name{font-size: 17px; font-weight: 700;}.ppla-approval .ppla-tabs{position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: #fff; border-top: 1px solid var(--pp-border); display: flex; padding-bottom: env(safe-area-inset-bottom);}.ppla-approval .ppla-tab{flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 4px; font-size: 10px; font-weight: 600; color: var(--pp-text-mute); background: none; border: none; cursor: pointer; gap: 3px; font-family: inherit; line-height: 1.2;}.ppla-approval .ppla-tab span{font-size: 10px;}.ppla-approval .ppla-tab--on{color: var(--pp-blue-700);}@keyframes ppla-spin{to{transform: rotate(360deg);}}

/* /promptprint_liff_delivery/static/src/liff/liff_delivery.scss */
 .ppld-fleet, .ppld-driver{--pp-blue-900: #0B3C91; --pp-blue-700: #1463C6; --pp-blue-500: #2E8BE6; --pp-blue-50: #EAF3FF; --pp-bg: #FFFFFF; --pp-bg-alt: #F6F8FB; --pp-border: #E3E7EE; --pp-text: #1F2937; --pp-text-mute: #6B7280; --pp-ok-bg: #16A34A; --pp-warn-bg: #F5A524; --pp-danger-bg: #DC2626; --pp-info-bg: #2E8BE6; --pp-radius-md: 10px; --pp-radius-lg: 14px; --pp-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06); --pp-shadow-md: 0 4px 12px rgba(15, 23, 42, .10);}.ppld-fleet{font-family: 'Helvetica Neue', "Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 15px; color: var(--pp-text); background: var(--pp-bg-alt); min-height: 100vh; padding-bottom: 28px;}.ppld-fleet .ppld-boot{padding: 70px 20px; text-align: center;}.ppld-fleet .ppld-spinner{display: inline-block; width: 32px; height: 32px; border: 3px solid var(--pp-blue-50); border-top-color: var(--pp-blue-700); border-radius: 50%; animation: ppld-spin .8s linear infinite;}.ppld-fleet .ppld-boot__label{margin-top: 16px; color: var(--pp-text-mute); font-size: 14px; font-weight: 500;}.ppld-fleet .ppld-state{padding: 64px 28px; text-align: center;}.ppld-fleet .ppld-state__icon{font-size: 42px; margin-bottom: 12px;}.ppld-fleet .ppld-state__title{font-weight: 700; font-size: 18px; color: var(--pp-text); margin-bottom: 6px;}.ppld-fleet .ppld-state__msg{font-size: 14px; color: var(--pp-text-mute); line-height: 1.5;}.ppld-fleet .ppld-hdr{padding: 14px 16px 12px; background: linear-gradient(135deg, var(--pp-blue-900), var(--pp-blue-700)); color: #fff;}.ppld-fleet .ppld-hdr__row{display: flex; align-items: center; justify-content: space-between; gap: 10px;}.ppld-fleet .ppld-hdr__title{margin: 0; font-size: 19px; font-weight: 700;}.ppld-fleet .ppld-hdr__sub{opacity: .85; font-size: 13px; margin-top: 2px;}.ppld-fleet .ppld-refresh{flex-shrink: 0; background: rgba(255, 255, 255, 0.16); border: none; color: #fff; width: 36px; height: 36px; border-radius: 50%; font-size: 20px; line-height: 1; cursor: pointer; transition: background .15s ease;}.ppld-fleet .ppld-refresh:active{background: rgba(255, 255, 255, 0.32);}.ppld-fleet .ppld-readonly{position: sticky; top: 0; z-index: 20; background: var(--pp-blue-50); border-bottom: 1px solid var(--pp-blue-500); color: var(--pp-blue-900); font-size: 12.5px; font-weight: 600; text-align: center; padding: 8px 12px;}.ppld-fleet .ppld-seg{display: flex; gap: 8px; padding: 10px 14px; overflow-x: auto; -webkit-overflow-scrolling: touch;}.ppld-fleet .ppld-chip{flex-shrink: 0; padding: 5px 14px; border-radius: 16px; background: var(--pp-bg); border: 1px solid var(--pp-border); font-size: 13px; color: var(--pp-text); cursor: pointer; white-space: nowrap; user-select: none;}.ppld-fleet .ppld-chip--on{background: var(--pp-blue-700); color: #fff; border-color: var(--pp-blue-700);}.ppld-fleet .ppld-empty{padding: 56px 24px; text-align: center; color: var(--pp-text-mute);}.ppld-fleet .ppld-empty__icon{font-size: 40px; margin-bottom: 10px;}.ppld-fleet .ppld-empty__title{font-weight: 700; color: var(--pp-text);}.ppld-fleet .ppld-empty__msg{font-size: 13px; margin-top: 6px;}.ppld-fleet .ppld-list{padding-bottom: 4px;}.ppld-fleet .ppld-card{background: var(--pp-bg); border: 1px solid var(--pp-border); border-radius: var(--pp-radius-lg); margin: 8px 12px; padding: 12px 14px; box-shadow: var(--pp-shadow-sm);}.ppld-fleet .ppld-card__row{display: flex; justify-content: space-between; align-items: center; gap: 10px;}.ppld-fleet .ppld-card__name{font-size: 14.5px; font-weight: 700; line-height: 1.25; min-width: 0;}.ppld-fleet .ppld-muted{color: var(--pp-text-mute); font-size: 13px; margin-top: 4px; line-height: 1.45;}.ppld-fleet .ppld-pill{flex-shrink: 0; font-size: 12px; padding: 3px 10px; border-radius: 12px; font-weight: 600; white-space: nowrap;}.ppld-fleet .ppld-pill--road{background: var(--pp-info-bg); color: #fff;}.ppld-fleet .ppld-pill--arrived{background: var(--pp-warn-bg); color: var(--pp-text);}.ppld-fleet .ppld-pill--done{background: var(--pp-ok-bg); color: #fff;}.ppld-fleet .ppld-pill--plan{background: #E5E7EB; color: #374151;}.ppld-fleet .ppld-pill--fail{background: var(--pp-danger-bg); color: #fff;}.ppld-fleet .ppld-pill--partial{background: #FDE8D0; color: #8A4A12;}.ppld-fleet .ppld-stops{margin-top: 8px; display: flex; flex-direction: column; gap: 5px;}.ppld-fleet .ppld-stop{display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; color: var(--pp-text-mute); line-height: 1.4;}.ppld-fleet .ppld-stop__dot{flex-shrink: 0; width: 9px; height: 9px; border-radius: 50%; margin-top: 4px; background: #CBD5E1;}.ppld-fleet .ppld-stop__dot--planned{background: #CBD5E1;}.ppld-fleet .ppld-stop__dot--arrived{background: var(--pp-warn-bg);}.ppld-fleet .ppld-stop__dot--delivered{background: var(--pp-ok-bg);}.ppld-fleet .ppld-stop__dot--partial{background: #F59E0B;}.ppld-fleet .ppld-stop__dot--failed{background: var(--pp-danger-bg);}.ppld-fleet .ppld-stop__text{min-width: 0;}.ppld-fleet .ppld-late{margin-top: 6px; font-size: 12px; font-weight: 600; color: #9A3412;}.ppld-fleet .ppld-bar{height: 7px; background: var(--pp-blue-50); border-radius: 4px; margin-top: 8px; overflow: hidden;}.ppld-fleet .ppld-bar i{display: block; height: 7px; border-radius: 4px; background: var(--pp-blue-500);}.ppld-driver{font-family: 'Helvetica Neue', "Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 15px; color: var(--pp-text); background: var(--pp-bg-alt); min-height: 100vh; padding-bottom: 28px;}.ppld-driver .ppld-boot{padding: 70px 20px; text-align: center;}.ppld-driver .ppld-spinner{display: inline-block; width: 32px; height: 32px; border: 3px solid var(--pp-blue-50); border-top-color: var(--pp-blue-700); border-radius: 50%; animation: ppld-spin .8s linear infinite;}.ppld-driver .ppld-boot__label{margin-top: 16px; color: var(--pp-text-mute); font-size: 14px; font-weight: 500;}.ppld-driver .ppld-state{padding: 64px 28px; text-align: center;}.ppld-driver .ppld-state__icon{font-size: 42px; margin-bottom: 12px;}.ppld-driver .ppld-state__title{font-weight: 700; font-size: 18px; color: var(--pp-text); margin-bottom: 6px;}.ppld-driver .ppld-state__msg{font-size: 14px; color: var(--pp-text-mute); line-height: 1.5;}.ppld-driver .ppld-hdr{padding: 14px 16px 12px; background: linear-gradient(135deg, var(--pp-blue-900), var(--pp-blue-700)); color: #fff;}.ppld-driver .ppld-hdr__row{display: flex; align-items: center; justify-content: space-between; gap: 10px;}.ppld-driver .ppld-hdr__title{margin: 0; font-size: 19px; font-weight: 700; line-height: 1.2; min-width: 0;}.ppld-driver .ppld-hdr__sub{opacity: .85; font-size: 13px; margin-top: 2px;}.ppld-driver .ppld-back{display: inline-block; background: none; border: none; color: #fff; font-size: 15px; padding: 0; margin-bottom: 6px; cursor: pointer;}.ppld-driver .ppld-errstrip{margin: 10px 12px 0; padding: 9px 12px; border-radius: var(--pp-radius-md); background: #FEF2F2; border: 1px solid var(--pp-danger-bg); color: #991B1B; font-size: 13px; font-weight: 500; line-height: 1.4;}.ppld-driver .ppld-empty{padding: 56px 24px; text-align: center; color: var(--pp-text-mute);}.ppld-driver .ppld-empty__icon{font-size: 40px; margin-bottom: 10px;}.ppld-driver .ppld-empty__title{font-weight: 700; color: var(--pp-text);}.ppld-driver .ppld-empty__msg{font-size: 13px; margin-top: 6px; line-height: 1.45;}.ppld-driver .ppld-list{padding-bottom: 4px;}.ppld-driver .ppld-card{background: var(--pp-bg); border: 1px solid var(--pp-border); border-radius: var(--pp-radius-lg); margin: 8px 12px; padding: 12px 14px; box-shadow: var(--pp-shadow-sm);}.ppld-driver .ppld-card--tap{cursor: pointer;}.ppld-driver .ppld-card--tap:active{background: var(--pp-bg-alt);}.ppld-driver .ppld-card__row{display: flex; justify-content: space-between; align-items: center; gap: 10px;}.ppld-driver .ppld-card__name{font-size: 14.5px; font-weight: 700; line-height: 1.25; min-width: 0;}.ppld-driver .ppld-card__hint{color: var(--pp-text-mute); font-size: 13px; margin-top: 6px;}.ppld-driver .ppld-muted{color: var(--pp-text-mute); font-size: 13px; margin-top: 4px; line-height: 1.45;}.ppld-driver .ppld-stopmeta{display: flex; align-items: center; gap: 14px; flex-wrap: wrap;}.ppld-driver .ppld-tel{color: var(--pp-blue-700); text-decoration: none; font-weight: 600;}.ppld-driver .ppld-tel:active{opacity: .7;}.ppld-driver .ppld-pill{flex-shrink: 0; font-size: 12px; padding: 3px 10px; border-radius: 12px; font-weight: 600; white-space: nowrap;}.ppld-driver .ppld-pill--road{background: var(--pp-info-bg); color: #fff;}.ppld-driver .ppld-pill--arrived{background: var(--pp-warn-bg); color: var(--pp-text);}.ppld-driver .ppld-pill--done{background: var(--pp-ok-bg); color: #fff;}.ppld-driver .ppld-pill--plan{background: #E5E7EB; color: #374151;}.ppld-driver .ppld-pill--fail{background: var(--pp-danger-bg); color: #fff;}.ppld-driver .ppld-pill--partial{background: #FDE8D0; color: #8A4A12;}.ppld-driver .ppld-bar{height: 7px; background: var(--pp-blue-50); border-radius: 4px; margin-top: 8px; overflow: hidden;}.ppld-driver .ppld-bar i{display: block; height: 7px; border-radius: 4px; background: var(--pp-blue-500);}.ppld-driver .ppld-btn{display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 10px; padding: 13px; text-align: center; border: none; border-radius: var(--pp-radius-md); font-size: 15px; font-weight: 600; cursor: pointer; font-family: inherit;}.ppld-driver .ppld-btn:disabled{opacity: .45; cursor: default;}.ppld-driver .ppld-btn--primary{background: var(--pp-blue-700); color: #fff;}.ppld-driver .ppld-btn--outline{background: var(--pp-bg); color: var(--pp-blue-700); border: 1.5px solid var(--pp-blue-700);}.ppld-driver .ppld-btn--success{background: var(--pp-ok-bg); color: #fff;}.ppld-driver .ppld-btn--warn{background: var(--pp-bg); color: #9A3412; border: 1.5px solid var(--pp-warn-bg);}.ppld-driver .ppld-btn__spin{display: inline-block; width: 15px; height: 15px; border: 2px solid rgba(255, 255, 255, 0.45); border-top-color: #fff; border-radius: 50%; animation: ppld-spin .7s linear infinite;}.ppld-driver .ppld-btn--warn .ppld-btn__spin{border-color: rgba(154, 52, 18, 0.3); border-top-color: #9A3412;}.ppld-driver .ppld-packrow{display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--pp-bg-alt);}.ppld-driver .ppld-packrow:last-child{border-bottom: none;}.ppld-driver .ppld-packrow--off{opacity: .55;}.ppld-driver .ppld-pk{flex-shrink: 0; width: 22px; height: 22px; accent-color: var(--pp-ok-bg);}.ppld-driver .ppld-pk-off{flex-shrink: 0; width: 22px; text-align: center; color: var(--pp-text-mute); font-size: 18px; line-height: 22px;}.ppld-driver .ppld-packrow__body{flex: 1; min-width: 0;}.ppld-driver .ppld-bc{font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; font-weight: 600; color: var(--pp-text);}.ppld-driver .ppld-packrow__meta{margin-top: 2px;}.ppld-driver .ppld-pk-state{flex-shrink: 0; font-size: 12px; font-weight: 600; color: var(--pp-text-mute);}.ppld-driver .ppld-podsum{margin: 8px 12px; padding: 10px 14px; border-radius: var(--pp-radius-md); font-size: 14px; font-weight: 600; background: var(--pp-blue-50); color: var(--pp-blue-900);}.ppld-driver .ppld-podsum--ok{background: #E8F6EE; color: #166534;}.ppld-driver .ppld-podsum--partial{background: #FDE8D0; color: #8A4A12;}.ppld-driver .ppld-podsum--warn{background: #FEF3C7; color: #92400E;}.ppld-driver .ppld-podhint{margin: 4px 16px 12px;}.ppld-driver .ppld-overlay{position: fixed; inset: 0; background: rgba(15, 23, 42, 0.42); z-index: 40;}.ppld-driver .ppld-sheet{position: fixed; left: 0; right: 0; bottom: 0; z-index: 41; background: var(--pp-bg); border-radius: 18px 18px 0 0; box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.22); max-height: 88vh; display: flex; flex-direction: column; padding: 8px 16px calc(16px + env(safe-area-inset-bottom));}.ppld-driver .ppld-sheet__grab{width: 40px; height: 4px; border-radius: 2px; background: var(--pp-border); margin: 4px auto 8px;}.ppld-driver .ppld-sheet__hd{display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px;}.ppld-driver .ppld-sheet__title{margin: 0; font-size: 17px; font-weight: 700; color: var(--pp-text);}.ppld-driver .ppld-sheet__x{cursor: pointer; padding: 4px 8px; color: var(--pp-text-mute); font-size: 16px;}.ppld-driver .ppld-sheet__body{flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch;}.ppld-driver .ppld-sheet__note{margin: 0 0 10px;}.ppld-driver .ppld-field__label{display: block; font-size: 13px; font-weight: 600; color: var(--pp-text); margin: 10px 0 5px;}.ppld-driver .ppld-select, .ppld-driver .ppld-textarea, .ppld-driver .ppld-input{width: 100%; padding: 11px 12px; border: 1px solid var(--pp-border); border-radius: var(--pp-radius-md); font-size: 15px; font-family: inherit; color: var(--pp-text); background: var(--pp-bg); box-sizing: border-box;}.ppld-driver .ppld-select:focus, .ppld-driver .ppld-textarea:focus, .ppld-driver .ppld-input:focus{outline: none; border-color: var(--pp-blue-500);}.ppld-driver .ppld-textarea{resize: vertical; line-height: 1.45;}.ppld-driver .ppld-hidden-file{display: none;}.ppld-driver .ppld-photo-add{margin-top: 8px;}.ppld-driver .ppld-thumbs{display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px;}.ppld-driver .ppld-thumb{position: relative; width: 64px; height: 64px; border-radius: var(--pp-radius-md); overflow: hidden; border: 1px solid var(--pp-border);}.ppld-driver .ppld-thumb__img{width: 100%; height: 100%; object-fit: cover; display: block;}.ppld-driver .ppld-thumb__x{position: absolute; top: 2px; right: 2px; width: 20px; height: 20px; border: none; border-radius: 50%; background: rgba(15, 23, 42, 0.72); color: #fff; font-size: 11px; line-height: 1; cursor: pointer; padding: 0;}.ppld-driver .ppld-sheet__hint{margin: 8px 0 0; font-weight: 600;}.ppld-driver .ppld-errstrip--sheet{margin: 10px 0 0;}.ppld-driver .ppld-sheet__ft{display: flex; gap: 8px; padding-top: 12px; border-top: 1px solid var(--pp-border); margin-top: 10px;}.ppld-driver .ppld-sheet__cancel{flex: 0 0 38%; margin-top: 0;}.ppld-driver .ppld-sheet__submit{flex: 1; margin-top: 0;}.ppld-driver .ppld-hdr--sign{background: linear-gradient(135deg, #062A66, var(--pp-blue-900)); padding-top: 22px;}.ppld-driver .ppld-signpad{position: relative; margin: 10px 12px; background: var(--pp-bg); border: 2px dashed var(--pp-border); border-radius: var(--pp-radius-lg); height: 180px;}.ppld-driver .ppld-signpad__canvas{display: block; width: 100%; height: 100%; border-radius: 12px; touch-action: none;}.ppld-driver .ppld-signpad__hint{position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #C3CED4; font-size: 18px; pointer-events: none;}.ppld-driver .ppld-input{margin: 0 12px; width: calc(100% - 24px);}.ppld-driver .ppld-success{text-align: center; padding: 56px 24px 12px;}.ppld-driver .ppld-success__tick{width: 84px; height: 84px; border-radius: 50%; background: var(--pp-ok-bg); color: #fff; font-size: 46px; line-height: 84px; margin: 0 auto 16px;}.ppld-driver .ppld-success__title{margin: 0 0 8px; font-size: 22px; font-weight: 700; color: var(--pp-text);}.ppld-driver .ppld-success__line{font-size: 15px; color: var(--pp-text); margin-top: 4px;}.ppld-driver .ppld-success__line--back{color: #8A4A12; font-weight: 600;}.ppld-driver .ppld-success__line--mute{color: var(--pp-text-mute); font-size: 13.5px; margin-top: 10px;}.ppld-driver .ppld-recent-hd{margin: 14px 4px 6px; font-weight: 600;}.ppld-driver .ppld-card--done{opacity: 0.92;}.ppld-driver .ppld-photocount{margin-left: auto; font-weight: 600;}.ppld-driver .ppld-photopicker{margin: 8px 0;}@keyframes ppld-spin{to{transform: rotate(360deg);}}.ppld-fleet .ppld-dash{margin: 10px 12px 4px; background: var(--pp-bg); border: 1px solid var(--pp-border); border-radius: var(--pp-radius-lg); box-shadow: var(--pp-shadow-sm); padding: 12px 14px;}.ppld-fleet .ppld-dash__title{font-weight: 800; color: var(--pp-blue-900); font-size: 14px; margin-bottom: 10px;}.ppld-fleet .ppld-dash__top{display: flex; align-items: center; gap: 14px; margin-bottom: 12px;}.ppld-fleet .ppld-ring{flex: 0 0 auto; width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center; position: relative;}.ppld-fleet .ppld-ring::before{content: ""; position: absolute; inset: 9px; border-radius: 50%; background: var(--pp-bg);}.ppld-fleet .ppld-ring__val{position: relative; z-index: 1; font-weight: 800; font-size: 19px; color: var(--pp-blue-900);}.ppld-fleet .ppld-dash__head{flex: 1 1 auto; min-width: 0;}.ppld-fleet .ppld-dash__big{font-size: 15px; color: var(--pp-text); margin-bottom: 3px;}.ppld-fleet .ppld-dash__big b{color: var(--pp-ok-bg);}.ppld-fleet .ppld-tiles{display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;}.ppld-fleet .ppld-tile{background: var(--pp-bg-alt); border: 1px solid var(--pp-border); border-radius: var(--pp-radius-md); padding: 8px 10px; display: flex; flex-direction: column; gap: 2px;}.ppld-fleet .ppld-tile__v{font-weight: 800; font-size: 18px; line-height: 1.1; color: var(--pp-blue-900);}.ppld-fleet .ppld-tile__l{font-size: 11px; color: var(--pp-text-mute);}.ppld-fleet .ppld-tile--ok .ppld-tile__v{color: var(--pp-ok-bg);}.ppld-fleet .ppld-tile--warn{background: #FFF7E6; border-color: #F5C97A;}.ppld-fleet .ppld-tile--warn .ppld-tile__v{color: #B97A00;}.ppld-fleet .ppld-tile--danger{background: #FDECEC; border-color: #F3B4B4;}.ppld-fleet .ppld-tile--danger .ppld-tile__v{color: var(--pp-danger-bg);}.ppld-fleet .ppld-drv{margin-top: 12px;}.ppld-fleet .ppld-drv__hd{font-size: 12px; color: var(--pp-text-mute); margin-bottom: 4px;}.ppld-fleet .ppld-drv__row{display: flex; align-items: center; gap: 8px; font-size: 12px; margin-bottom: 4px;}.ppld-fleet .ppld-drv__name{flex: 0 0 84px; color: var(--pp-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}.ppld-fleet .ppld-drv__bar{flex: 1 1 auto; height: 8px; border-radius: 4px; background: var(--pp-border); overflow: hidden;}.ppld-fleet .ppld-drv__bar i{display: block; height: 100%; background: var(--pp-blue-500);}.ppld-fleet .ppld-drv__n{flex: 0 0 auto; color: var(--pp-text-mute); font-variant-numeric: tabular-nums;}.ppld-fleet .ppld-roll{margin-top: 12px; border-top: 1px dashed var(--pp-border); padding-top: 8px;}.ppld-fleet .ppld-roll__row{display: flex; gap: 8px; align-items: baseline; font-size: 12px; margin-bottom: 3px;}.ppld-fleet .ppld-roll__k{flex: 0 0 58px; font-weight: 700; color: var(--pp-blue-700);}.ppld-fleet .ppld-roll__v{flex: 1 1 auto; color: var(--pp-text-mute);}

/* /promptprint_liff_ess/static/src/liff/ess_app.scss */
 .ess-liff{min-height: 100vh; display: flex; flex-direction: column; background: var(--pp-bg);}.ess-liff .ess-stripe{height: 4px; background: var(--pp-cmyk-stripe);}.ess-liff .ess-hdr{position: sticky; top: var(--pp-safe-top, 0); z-index: var(--pp-z-header); background: var(--pp-paper); border-bottom: 1px solid var(--pp-line); padding: 12px 16px 10px; display: flex; align-items: center; gap: 10px;}.ess-liff .ess-hdr .ess-back{font-size: 22px; line-height: 1; padding: 4px 8px 4px 0; cursor: pointer;}.ess-liff .ess-hdr .ess-hdr-title{font-size: 16px; font-weight: var(--pp-w-head);}.ess-liff .ess-hdr .ess-hdr-sub{font-size: 11px; color: var(--pp-mute);}.ess-liff .ess-hdr .ess-avatar{width: 36px; height: 36px; border-radius: var(--pp-r-pill); object-fit: cover; background: var(--pp-line);}.ess-liff .ess-body{flex: 1; padding: 12px 12px 110px; display: flex; flex-direction: column; gap: 12px;}.ess-liff .ess-boot, .ess-liff .ess-state{flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: var(--pp-mute); padding: 40px 24px; text-align: center; min-height: 50vh;}.ess-liff .ess-spinner{width: 28px; height: 28px; border-radius: 50%; border: 3px solid var(--pp-line); border-top-color: var(--pp-magenta); animation: pp-spin .8s linear infinite;}.ess-liff .ess-pin-input{font-size: 28px; font-weight: var(--pp-w-display); text-align: center; letter-spacing: .35em; font-variant-numeric: tabular-nums;}.ess-liff .ess-status-card .ess-status-line{font-size: 14px; font-weight: var(--pp-w-emph); margin: 2px 0 10px;}.ess-liff .ess-status-card .ess-status-date{font-size: 11px; color: var(--pp-mute);}.ess-liff .ess-rows{border: 1px solid var(--pp-line); border-radius: var(--pp-r-lg); overflow: hidden; background: var(--pp-paper);}.ess-liff .ess-row{display: flex; align-items: center; gap: 12px; min-height: var(--pp-tap-comfy); padding: 11px 14px; border-bottom: 1px solid var(--pp-line); cursor: pointer;}.ess-liff .ess-row:last-child{border-bottom: none;}.ess-liff .ess-row:active{background: var(--pp-bg);}.ess-liff .ess-row .ess-row-ico{width: 34px; height: 34px; border-radius: var(--pp-r-pill); background: var(--pp-bg); display: flex; align-items: center; justify-content: center; font-size: 17px; flex: 0 0 auto;}.ess-liff .ess-row .ess-row-main{flex: 1; min-width: 0;}.ess-liff .ess-row .ess-row-title{font-size: 13px; font-weight: var(--pp-w-emph);}.ess-liff .ess-row .ess-row-meta{font-size: 10.5px; color: var(--pp-mute);}.ess-liff .ess-row .ess-row-arrow{color: var(--pp-mute);}.ess-liff .ess-chip{font-size: 10px; font-weight: 700; padding: 2px 9px; border-radius: var(--pp-r-pill); white-space: nowrap;}.ess-liff .ess-chip--ok{background: rgba(22, 163, 74, 0.12); color: #16A34A;}.ess-liff .ess-chip--warn{background: rgba(245, 165, 36, 0.15); color: #B45309;}.ess-liff .ess-chip--bad{background: rgba(220, 38, 38, 0.1); color: #DC2626;}.ess-liff .ess-chip--info{background: rgba(46, 139, 230, 0.12); color: #2E8BE6;}.ess-liff .ess-chip--mute{background: var(--pp-bg); color: var(--pp-mute);}.ess-liff .ess-kpis{display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;}.ess-liff .ess-kpis .ess-kpi{background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: var(--pp-r-md); padding: 8px 4px; text-align: center;}.ess-liff .ess-kpis .ess-kpi b{display: block; font-size: 17px; font-weight: var(--pp-w-display); font-variant-numeric: tabular-nums;}.ess-liff .ess-kpis .ess-kpi span{font-size: 9px; color: var(--pp-mute);}.ess-liff .ess-bals{display: flex; gap: 8px;}.ess-liff .ess-bals .ess-bal{flex: 1; background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: var(--pp-r-md); padding: 9px 6px; text-align: center;}.ess-liff .ess-bals .ess-bal b{display: block; font-size: 16px; font-weight: var(--pp-w-display);}.ess-liff .ess-bals .ess-bal span{font-size: 9px; color: var(--pp-mute);}.ess-liff .ess-seg{display: flex; background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: var(--pp-r-pill); padding: 3px; gap: 2px;}.ess-liff .ess-seg > div{flex: 1; text-align: center; font-size: 11.5px; font-weight: 700; padding: 6px 0; border-radius: var(--pp-r-pill); color: var(--pp-mute); cursor: pointer;}.ess-liff .ess-seg > div.on{background: var(--pp-ink); color: #fff;}.ess-liff .ess-day, .ess-liff .ess-log{display: flex; align-items: center; gap: 10px; background: var(--pp-paper); border-bottom: 1px solid var(--pp-line); padding: 9px 12px;}.ess-liff .ess-day:last-child, .ess-liff .ess-log:last-child{border-bottom: none;}.ess-liff .ess-day .ess-d, .ess-liff .ess-log .ess-d{width: 40px; text-align: center;}.ess-liff .ess-day .ess-d b, .ess-liff .ess-log .ess-d b{display: block; font-size: 14px;}.ess-liff .ess-day .ess-d span, .ess-liff .ess-log .ess-d span{font-size: 9px; color: var(--pp-mute);}.ess-liff .ess-day .ess-t, .ess-liff .ess-log .ess-t{flex: 1; font-size: 12px; min-width: 0;}.ess-liff .ess-day .ess-t .m, .ess-liff .ess-log .ess-t .m{font-size: 10px; color: var(--pp-mute);}.ess-liff .ess-day .ess-tm, .ess-liff .ess-log .ess-tm{font-size: 13px; font-weight: var(--pp-w-display); font-variant-numeric: tabular-nums; width: 46px;}.ess-liff .ess-dsep{font-size: 10px; font-weight: 700; color: var(--pp-mute); background: var(--pp-bg); padding: 5px 12px; border-bottom: 1px solid var(--pp-line);}.ess-liff .ess-dir-in{color: #16A34A;}.ess-liff .ess-dir-out{color: #2E8BE6;}.ess-liff .ess-overlay{position: fixed; inset: 0; background: rgba(15, 26, 58, 0.45); z-index: var(--pp-z-overlay);}.ess-liff .ess-sheet{position: fixed; left: 0; right: 0; bottom: 0; background: var(--pp-paper); border-radius: var(--pp-r-xl) var(--pp-r-xl) 0 0; box-shadow: var(--pp-shadow-pop); padding: 10px 16px calc(16px + var(--pp-safe-bottom, 0px)); z-index: var(--pp-z-modal); max-height: 80vh; overflow-y: auto;}.ess-liff .ess-sheet .ess-grabber{width: 36px; height: 4px; border-radius: var(--pp-r-pill); background: var(--pp-line); margin: 0 auto 10px;}.ess-liff .ess-clockbox{background: var(--pp-bg); border-radius: var(--pp-r-sm); padding: 9px 12px; display: flex; justify-content: space-between; align-items: center; margin: 10px 0;}.ess-liff .ess-clockbox .ess-clock{font-size: 17px; font-weight: var(--pp-w-display); font-variant-numeric: tabular-nums;}.ess-liff .ess-pdfbtn{font-size: 10.5px; font-weight: 700; border: 1px solid var(--pp-line); border-radius: var(--pp-r-pill); padding: 6px 10px; background: var(--pp-paper); cursor: pointer; white-space: nowrap;}.ess-liff .ess-pdfbtn:active{background: var(--pp-bg);}.ess-liff .ess-cta{position: fixed; left: 0; right: 0; bottom: 0; background: var(--pp-paper); border-top: 1px solid var(--pp-line); box-shadow: var(--pp-shadow-sm); padding: 10px 14px calc(10px + var(--pp-safe-bottom, 0px)); display: flex; gap: 8px; z-index: var(--pp-z-sticky);}.ess-liff .ess-lbl{display: block; font-size: 11px; font-weight: 700; color: var(--pp-mute); margin: 0 0 4px;}.ess-liff .ess-field{margin-bottom: 2px;}.ess-liff .ess-typechip{font-size: 11px; font-weight: 700; border: 1px solid var(--pp-line); background: var(--pp-paper); border-radius: var(--pp-r-pill); padding: 7px 12px; cursor: pointer; display: inline-block; margin: 0 5px 5px 0;}.ess-liff .ess-typechip.on{background: var(--pp-ink); color: #fff; border-color: var(--pp-ink);}.ess-liff .ess-infocard{background: rgba(46, 139, 230, 0.07); border: 1px solid rgba(46, 139, 230, 0.25); border-radius: var(--pp-r-md); padding: 9px 12px; font-size: 11px;}.ess-liff .ess-infocard .t{font-weight: 700; color: #2E8BE6;}.ess-liff .ess-infocard .m{color: var(--pp-mute); font-size: 10px;}.ess-liff .ess-totalcard{background: rgba(236, 0, 140, 0.05); border: 1px solid rgba(236, 0, 140, 0.2); border-radius: var(--pp-r-md); padding: 9px 12px; display: flex; justify-content: space-between; align-items: center; font-size: 12px;}.ess-liff .ess-totalcard b{font-size: 13px;}.ess-liff .ess-err{color: #c1272d; font-size: 11.5px; font-weight: 700;}.ess-liff .ess-toast{position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(86px + var(--pp-safe-bottom, 0px)); background: var(--pp-ink); color: #fff; font-size: 12px; padding: 9px 16px; border-radius: var(--pp-r-pill); z-index: var(--pp-z-toast); box-shadow: var(--pp-shadow-pop);}.ess-liff .ess-photo{margin: 14px 0 4px;}.ess-liff .ess-photo-actions{display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}.ess-liff .ess-photo-btn{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 88px; border: 1.5px dashed var(--pp-line); border-radius: var(--pp-r-md); background: var(--pp-bg); color: var(--pp-ink); font-family: inherit; font-weight: var(--pp-w-emph); font-size: 12.5px; cursor: pointer; transition: border-color var(--pp-dur) var(--pp-ease), background var(--pp-dur) var(--pp-ease), transform var(--pp-dur-fast) var(--pp-ease);}.ess-liff .ess-photo-btn:active{transform: scale(0.98); background: #eef1f8;}.ess-liff .ess-photo-btn .ico{font-size: 26px; line-height: 1;}.ess-liff .ess-photo-btn .sub{font-size: 9.5px; color: var(--pp-mute); font-weight: 600;}.ess-liff .ess-photo-btn.ess-photo-btn--primary{border-style: solid; border-color: var(--pp-magenta); background: rgba(var(--pp-magenta-rgb), 0.05); color: var(--pp-magenta);}.ess-liff .ess-photo-btn.ess-photo-btn--primary .sub{color: rgba(var(--pp-magenta-rgb), 0.7);}.ess-liff .ess-photo-preview{position: relative; border-radius: var(--pp-r-md); overflow: hidden; background: #000; border: 1px solid var(--pp-line); aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center;}.ess-liff .ess-photo-preview img{width: 100%; height: 100%; object-fit: cover; display: block;}.ess-liff .ess-photo-badge{position: absolute; left: 8px; top: 8px; background: rgba(var(--pp-ink-rgb), 0.72); color: #fff; font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: var(--pp-r-pill);}.ess-liff .ess-photo-retake{position: absolute; right: 8px; top: 8px; background: rgba(var(--pp-ink-rgb), 0.72); color: #fff; border: none; font-family: inherit; font-size: 11px; font-weight: 700; padding: 6px 11px; border-radius: var(--pp-r-pill); cursor: pointer;}.ess-liff .ess-photo-retake:active{transform: scale(0.97);}.ess-liff .ess-photo-hint{font-size: 9.5px; color: var(--pp-mute); margin: 7px 2px 0; display: flex; align-items: flex-start; gap: 5px; line-height: 1.4;}.ess-liff .ess-photo-skip{display: block; width: 100%; background: none; border: none; font-family: inherit; font-size: 11px; font-weight: 600; color: var(--pp-mute); text-decoration: underline; cursor: pointer; padding: 10px 0 2px; text-align: center;}.ess-liff .req-star{color: var(--pp-magenta);}

/* /promptprint_liff_finance/static/src/liff/finance_app.scss */
 .fin-liff{--fin-blue: #1A4FCF; --fin-green: #1f9d55; --fin-red: #d63031; font-family: 'Prompt', 'Noto Sans Thai', sans-serif; background: #f4f6fb; min-height: 100vh; padding-bottom: 64px;}.fin-liff .fin-stripe{height: 3px; background: linear-gradient(90deg, #00B8D4 0 25%, #EC008C 25% 50%, #FFC400 50% 75%, #0F1A3A 75% 100%);}.fin-liff .fin-boot, .fin-liff .fin-state{padding: 48px 16px; text-align: center; color: var(--pp-ink); font-weight: 700;}.fin-liff .fin-muted{color: #5a6478; font-weight: 500; font-size: 12px;}.fin-liff .fin-spinner{width: 26px; height: 26px; margin: 0 auto 10px; border: 3px solid var(--pp-line); border-top-color: var(--fin-blue); border-radius: 50%; animation: pp-spin .8s linear infinite;}.fin-liff .fin-hdr{background: linear-gradient(135deg, #0F1A3A, #1A4FCF); color: #fff; padding: 16px 18px;}.fin-liff .fin-hdr-title{font-size: 19px; font-weight: 800;}.fin-liff .fin-hdr-sub{font-size: 11.5px; opacity: .82; margin-top: 2px;}.fin-liff .fin-body{padding: 14px;}.fin-liff .fin-kpis{display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}.fin-liff .fin-kpi{background: #fff; border-radius: 14px; padding: 11px 12px; box-shadow: 0 2px 8px rgba(15, 26, 58, 0.06);}.fin-liff .fin-kpi-lab{font-size: 11px; color: #5a6478; font-weight: 600;}.fin-liff .fin-kpi-val{font-size: 18px; font-weight: 800; color: var(--pp-ink); margin-top: 3px;}.fin-liff .fin-kpi-note{font-size: 10.5px; font-weight: 700; margin-top: 3px;}.fin-liff .fin-red{color: var(--fin-red);}.fin-liff .fin-green{color: var(--fin-green);}.fin-liff .fin-amber{color: #c98a00;}.fin-liff .fin-sec{margin-top: 16px;}.fin-liff .fin-sec-h{font-size: 13px; font-weight: 800; color: var(--pp-ink); margin-bottom: 8px; display: flex; justify-content: space-between; align-items: baseline;}.fin-liff .fin-chart{background: #fff; border-radius: 14px; padding: 14px 12px 10px; box-shadow: 0 2px 8px rgba(15, 26, 58, 0.06);}.fin-liff .fin-bars{display: flex; align-items: flex-end; gap: 10px; height: 108px;}.fin-liff .fin-bcol{flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; height: 100%; justify-content: flex-end;}.fin-liff .fin-pair{display: flex; gap: 3px; align-items: flex-end; height: 100%;}.fin-liff .fin-bar{width: 11px; border-radius: 3px 3px 0 0;}.fin-liff .fin-bin{background: #1f9d55;}.fin-liff .fin-bex{background: #ff7a7a;}.fin-liff .fin-m{font-size: 9.5px; color: #5a6478; font-weight: 600;}.fin-liff .fin-legend{display: flex; gap: 14px; margin-top: 8px; font-size: 10.5px; color: #5a6478; font-weight: 600;}.fin-liff .fin-dot{display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 4px; vertical-align: middle;}.fin-liff .fin-pdc{display: flex; gap: 8px;}.fin-liff .fin-pcard{flex: 1; background: #fff; border-radius: 12px; padding: 9px 10px; box-shadow: 0 2px 8px rgba(15, 26, 58, 0.06); text-align: center;}.fin-liff .fin-pv{font-size: 15px; font-weight: 800; color: var(--pp-ink);}.fin-liff .fin-pl{font-size: 9.5px; color: #5a6478; font-weight: 600; margin-top: 2px;}.fin-liff .fin-rows{margin-top: 16px; display: flex; flex-direction: column; gap: 9px;}.fin-liff .fin-row{background: #fff; border-radius: 13px; padding: 12px 13px; display: flex; align-items: center; gap: 12px; box-shadow: 0 2px 8px rgba(15, 26, 58, 0.06);}.fin-liff .fin-row-ico{width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 19px; color: #fff; flex: 0 0 auto;}.fin-liff .fin-i-mag{background: linear-gradient(135deg, #EC008C, #FF2AA4);}.fin-liff .fin-i-cyan{background: linear-gradient(135deg, #00B8D4, #00DCE6);}.fin-liff .fin-i-blue{background: linear-gradient(135deg, #1A4FCF, #2A5FE0);}.fin-liff .fin-i-ink{background: linear-gradient(135deg, #0F1A3A, #33406b);}.fin-liff .fin-row-main{flex: 1;}.fin-liff .fin-row-title{font-size: 14px; font-weight: 700; color: var(--pp-ink);}.fin-liff .fin-row-meta{font-size: 11px; color: #5a6478; margin-top: 1px;}.fin-liff .fin-row-arrow{color: #b9c2d6; font-size: 18px;}.fin-liff .fin-chips{display: flex; gap: 7px; overflow-x: auto; padding: 12px 14px 4px;}.fin-liff .fin-chip{flex: 0 0 auto; font-size: 11.5px; font-weight: 700; padding: 5px 11px; border-radius: 999px; background: #fff; color: #5a6478; border: 1px solid var(--pp-line);}.fin-liff .fin-chip.on{background: var(--fin-blue); color: #fff; border-color: var(--fin-blue);}.fin-liff .fin-badge{font-size: 10.5px; font-weight: 800; padding: 3px 9px; border-radius: 999px;}.fin-liff .fin-b-red{background: #fdecec; color: #d63031;}.fin-liff .fin-b-amber{background: #fff4e0; color: #c98a00;}.fin-liff .fin-b-blue{background: #e9eefc; color: #1A4FCF;}.fin-liff .fin-b-green{background: #e7f6ee; color: #1f9d55;}.fin-liff .fin-b-grey{background: #eef0f6; color: #5a6478;}.fin-liff .fin-card{background: #fff; border-radius: 13px; padding: 11px 12px; margin: 0 14px 9px; box-shadow: 0 2px 8px rgba(15, 26, 58, 0.06);}.fin-liff .fin-empty{padding: 40px 16px; text-align: center; color: #8a94a8; font-weight: 600;}.fin-liff .fin-more{margin: 4px 14px 16px; text-align: center;}.fin-liff .fin-tabbar{position: fixed; bottom: 0; left: 0; right: 0; display: flex; background: #fff; border-top: 1px solid var(--pp-line); padding: 6px 4px 8px; max-width: 600px; margin: 0 auto;}.fin-liff .fin-tab{flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; color: #9aa4ba;}.fin-liff .fin-ti{font-size: 18px;}.fin-liff .fin-tl{font-size: 9.5px; font-weight: 700;}.fin-liff .fin-tab.active, .fin-liff .fin-tab.active .fin-tl{color: var(--fin-blue);}.fin-liff .fin-back{font-size: 12.5px; opacity: .9; font-weight: 700; padding: 12px 14px 0; color: var(--fin-blue); cursor: pointer;}@keyframes pp-spin{to{transform: rotate(360deg);}}

/* /promptprint_liff_owner/static/src/liff/owner_app.scss */
 .owner-liff{--pos: #0a9d57; --neg: #d92d4b; font-family: var(--pp-font, "Prompt", "Noto Sans Thai", sans-serif); color: var(--pp-ink); font-weight: 500; background: var(--pp-bg, #f6f8fc); min-height: 100vh;}.owner-liff *{box-sizing: border-box; -webkit-tap-highlight-color: transparent;}.owner-liff .cp-stripe{height: 4px; background: var(--pp-cmyk);}.owner-liff .cp-boot, .owner-liff .cp-state{padding: 48px 16px; text-align: center; color: var(--pp-ink); font-weight: 700;}.owner-liff .cp-muted{color: var(--pp-mute); font-weight: 500; font-size: 12px;}.owner-liff .cp-empty{padding: 40px 16px; text-align: center; color: #8a94a8; font-weight: 600;}.owner-liff .cp-spinner{width: 26px; height: 26px; margin: 0 auto 10px; border: 3px solid var(--pp-line); border-top-color: var(--pp-magenta); border-radius: 50%; animation: pp-owner-spin .8s linear infinite;}.owner-liff .cockpit{overflow-x: hidden;}.owner-liff .cp-head{padding: 16px 16px 14px; background: linear-gradient(180deg, #fff, #fff 70%, rgba(255, 255, 255, 0)); position: relative;}.owner-liff .cp-head .cmyk{height: 4px; border-radius: 4px; background: var(--pp-cmyk); margin-bottom: 13px;}.owner-liff .cp-greet{display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;}.owner-liff .cp-greet .hello{font-size: 12.5px; color: var(--pp-mute); font-weight: 600;}.owner-liff .cp-greet .name{font-size: 19px; font-weight: 900; letter-spacing: -.01em; margin-top: 1px;}.owner-liff .cp-greet .date{font-size: 11.5px; color: var(--pp-mute); font-weight: 600; margin-top: 3px;}.owner-liff .cp-greet .av{width: 42px; height: 42px; border-radius: 13px; background: linear-gradient(135deg, #1A4FCF, #2A5FE0); color: #fff; font-weight: 900; font-size: 16px; display: flex; align-items: center; justify-content: center; flex: none; box-shadow: 0 10px 20px -8px rgba(26, 79, 207, 0.6);}.owner-liff .toggle{display: flex; background: #eef1f8; border-radius: var(--pp-r-pill); padding: 4px; margin-top: 14px;}.owner-liff .toggle button{flex: 1; border: 0; background: transparent; font-family: inherit; font-weight: 800; font-size: 13px; color: var(--pp-mute); padding: 9px 0; border-radius: var(--pp-r-pill); cursor: pointer; transition: .15s;}.owner-liff .toggle button.on{background: #fff; color: var(--pp-ink); box-shadow: var(--pp-shadow-sm);}.owner-liff .hero{margin: 4px 16px 6px; border-radius: var(--pp-r-lg); padding: 18px; color: #fff; position: relative; overflow: hidden; background: linear-gradient(135deg, #0F1A3A 0%, #1A2654 55%, #243169 100%); box-shadow: var(--pp-shadow-card);}.owner-liff .hero::after{content: ""; position: absolute; right: -40px; top: -40px; width: 170px; height: 170px; border-radius: 50%; background: radial-gradient(circle, rgba(236, 0, 140, 0.45), transparent 70%);}.owner-liff .hero .lab{font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: rgba(255, 255, 255, 0.7);}.owner-liff .hero .big{font-size: 38px; font-weight: 900; letter-spacing: -.02em; margin: 5px 0 2px; font-variant-numeric: tabular-nums; line-height: 1;}.owner-liff .hero .delta{display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 800; background: rgba(10, 157, 87, 0.22); color: #7ef0b4; padding: 4px 10px; border-radius: var(--pp-r-pill);}.owner-liff .hero .delta.down{background: rgba(217, 45, 75, 0.22); color: #ff9bbf;}.owner-liff .hero .split{display: flex; gap: 10px; margin-top: 16px;}.owner-liff .hero .split .c{flex: 1; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--pp-r-md); padding: 10px 12px;}.owner-liff .hero .split .c .t{font-size: 10.5px; color: rgba(255, 255, 255, 0.65); font-weight: 700; text-transform: uppercase; letter-spacing: .06em;}.owner-liff .hero .split .c .v{font-size: 16px; font-weight: 900; margin-top: 3px; font-variant-numeric: tabular-nums;}.owner-liff .hero .split .c.in .v{color: #7ef0b4;}.owner-liff .hero .split .c.out .v{color: #ff9bbf;}.owner-liff .section{padding: 6px 16px 2px;}.owner-liff .sec-head{display: flex; align-items: center; gap: 8px; margin: 14px 2px 10px;}.owner-liff .sec-head .eyebrow{font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;}.owner-liff .sec-head .ic{width: 24px; height: 24px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex: none;}.owner-liff .sec-head .ic svg{width: 14px; height: 14px; display: block;}.owner-liff .e-sales .ic{background: #e0f6fa; color: #0090a8;}.owner-liff .e-sales{color: #0090a8;}.owner-liff .e-cash .ic{background: #fdeaf4; color: var(--pp-magenta);}.owner-liff .e-cash{color: var(--pp-magenta);}.owner-liff .e-prod .ic{background: #eef3ff; color: var(--pp-blue);}.owner-liff .e-prod{color: var(--pp-blue);}.owner-liff .e-team .ic{background: #fff6da; color: #a87a00;}.owner-liff .e-team{color: #a87a00;}.owner-liff .sec-head .line{flex: 1; height: 1px; background: var(--pp-line);}.owner-liff .funnel{display: flex; align-items: stretch; gap: 0; margin: 0 2px 12px; border-radius: var(--pp-r-md); overflow: hidden; box-shadow: var(--pp-shadow-sm);}.owner-liff .funnel .step{flex: 1; padding: 11px 8px; text-align: center; color: #fff; position: relative;}.owner-liff .funnel .step:not(:last-child)::after{content: ""; position: absolute; right: -9px; top: 0; bottom: 0; width: 18px; background: inherit; clip-path: polygon(0 0, 55% 50%, 0 100%); z-index: 2;}.owner-liff .funnel .s1{background: #00B8D4;}.owner-liff .funnel .s2{background: #1A4FCF;}.owner-liff .funnel .s3{background: #EC008C;}.owner-liff .funnel .step .n{font-size: 20px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums;}.owner-liff .funnel .step .l{font-size: 10px; font-weight: 700; opacity: .92; margin-top: 3px;}.owner-liff .conv{font-size: 11px; color: var(--pp-mute); font-weight: 700; text-align: center; margin: -4px 2px 12px;}.owner-liff .conv b{color: var(--pp-ink);}.owner-liff .tiles{display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}.owner-liff .tile{background: #fff; border: 1px solid var(--pp-line); border-radius: var(--pp-r-md); padding: 13px; position: relative; cursor: pointer; transition: .12s; min-height: 78px;}.owner-liff .tile:active{transform: scale(0.975); background: #fbfcff;}.owner-liff .tile .tl{display: flex; align-items: center; gap: 7px;}.owner-liff .tile .tl .dot{width: 9px; height: 9px; border-radius: 3px; flex: none;}.owner-liff .tile .tl .k{font-size: 12px; font-weight: 700; color: var(--pp-mute);}.owner-liff .tile .v{font-size: 25px; font-weight: 900; letter-spacing: -.01em; margin-top: 7px; font-variant-numeric: tabular-nums; line-height: 1;}.owner-liff .tile .v .unit{font-size: 13px; font-weight: 800; color: var(--pp-mute); margin-left: 2px;}.owner-liff .tile .sub{font-size: 11px; color: var(--pp-mute); font-weight: 600; margin-top: 5px;}.owner-liff .tile .chev{position: absolute; right: 11px; top: 13px; color: #c4ccdd; font-size: 15px; font-weight: 800;}.owner-liff .tile.wide{grid-column: 1 / -1;}.owner-liff .tile.money .v{color: var(--pp-ink);}.owner-liff .c-cyan{background: #00B8D4;}.owner-liff .c-blue{background: #1A4FCF;}.owner-liff .c-magenta{background: #EC008C;}.owner-liff .c-ink{background: #0F1A3A;}.owner-liff .c-yellow{background: #FFC400;}.owner-liff .c-green{background: #06C755;}.owner-liff .c-rose{background: #B2275C;}.owner-liff .attn{display: flex; align-items: center; gap: 10px; margin: 0 2px 12px; background: #fff4e6; border: 1px solid #ffe0b3; border-radius: var(--pp-r-md); padding: 11px 13px; cursor: pointer;}.owner-liff .attn .ic{width: 30px; height: 30px; border-radius: 9px; background: #ffb000; color: #fff; display: flex; align-items: center; justify-content: center; flex: none; font-weight: 900;}.owner-liff .attn .tx{font-size: 12px; font-weight: 700; color: #7a5200; line-height: 1.35;}.owner-liff .attn .tx b{color: #a8740a;}.owner-liff .e-appr .ic{background: #fff6da; color: #a87a00;}.owner-liff .e-appr{color: #a87a00;}.owner-liff .appr-card{background: #fff; border: 1px solid var(--pp-line); border-radius: var(--pp-r-md); padding: 13px; position: relative; cursor: pointer; transition: .12s;}.owner-liff .appr-card:active{transform: scale(0.985); background: #fbfcff;}.owner-liff .appr-card .chev{position: absolute; right: 11px; top: 13px; color: #c4ccdd; font-size: 15px; font-weight: 800;}.owner-liff .appr-top{display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding-right: 18px;}.owner-liff .appr-head .tl{display: flex; align-items: center; gap: 7px;}.owner-liff .appr-head .tl .dot{width: 9px; height: 9px; border-radius: 3px; flex: none;}.owner-liff .appr-head .tl .k{font-size: 12px; font-weight: 700; color: var(--pp-mute);}.owner-liff .appr-head .v{font-size: 25px; font-weight: 900; letter-spacing: -.01em; margin-top: 7px; font-variant-numeric: tabular-nums; line-height: 1;}.owner-liff .appr-head .v .unit{font-size: 13px; font-weight: 800; color: var(--pp-mute); margin-left: 2px;}.owner-liff .appr-cta{font-size: 12px; font-weight: 800; color: #a87a00; flex: none; white-space: nowrap;}.owner-liff .appr-empty{font-size: 12px; color: var(--pp-mute); font-weight: 600; margin-top: 9px;}.owner-liff .appr-list{margin-top: 10px; border-top: 1px solid #f0f3f9;}.owner-liff .appr-row{display: flex; align-items: center; gap: 11px; padding: 9px 0; border-bottom: 1px solid #f0f3f9;}.owner-liff .appr-row:last-child{border-bottom: 0;}.owner-liff .appr-row .main{flex: 1; min-width: 0;}.owner-liff .appr-row .code{font-size: 12.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.owner-liff .appr-row .who{font-size: 11px; color: var(--pp-mute); font-weight: 600; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.owner-liff .appr-row .amt{text-align: right; flex: none; font-size: 13px; font-weight: 900; font-variant-numeric: tabular-nums;}.owner-liff .cp-foot{padding: 18px 16px 26px; text-align: center;}.owner-liff .cp-foot .fl{font-size: 11px; color: var(--pp-mute); font-weight: 600;}.owner-liff .cp-foot .fl b{color: var(--pp-ink);}.owner-liff .cp-foot .ver{font-size: 10px; color: #aab2c6; margin-top: 5px;}.owner-liff .overlay{position: fixed; inset: 0; background: rgba(15, 26, 58, 0.42); opacity: 0; pointer-events: none; transition: .2s; z-index: 50;}.owner-liff .overlay.show{opacity: 1; pointer-events: auto;}.owner-liff .sheet{position: fixed; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 22px 22px 0 0; z-index: 60; transform: translateY(102%); transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1); max-height: 78%; display: flex; flex-direction: column; box-shadow: var(--pp-shadow-pop); max-width: 600px; margin: 0 auto;}.owner-liff .sheet.show{transform: translateY(0);}.owner-liff .sheet .grab{width: 38px; height: 4px; border-radius: 99px; background: #d7dded; margin: 10px auto 4px;}.owner-liff .sheet .sh{display: flex; align-items: center; gap: 10px; padding: 6px 18px 12px; border-bottom: 1px solid var(--pp-line);}.owner-liff .sheet .sh .si{width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; flex: none; background: var(--pp-magenta);}.owner-liff .sheet .sh .si svg{width: 18px; height: 18px; display: block;}.owner-liff .sheet .sh .st{font-size: 15px; font-weight: 900;}.owner-liff .sheet .sh .ss{font-size: 11px; color: var(--pp-mute); font-weight: 600;}.owner-liff .sheet .sh .cls{margin-left: auto; width: 30px; height: 30px; border-radius: 9px; background: var(--pp-bg); color: var(--pp-mute); border: 0; font-size: 17px; font-weight: 800; cursor: pointer;}.owner-liff .sheet .body{overflow-y: auto; padding: 6px 0 calc(14px + env(safe-area-inset-bottom));}.owner-liff .row{display: flex; align-items: center; gap: 11px; padding: 12px 18px; border-bottom: 1px solid #f0f3f9; min-height: 48px; cursor: pointer;}.owner-liff .row:last-child{border-bottom: 0;}.owner-liff .row .main{flex: 1; min-width: 0;}.owner-liff .row .code{font-size: 13.5px; font-weight: 800;}.owner-liff .row .who{font-size: 11.5px; color: var(--pp-mute); font-weight: 600; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.owner-liff .row .amt{text-align: right; flex: none;}.owner-liff .row .amt .a{font-size: 13.5px; font-weight: 900; font-variant-numeric: tabular-nums;}.owner-liff .row .amt .stt{font-size: 10px; font-weight: 800; padding: 1px 7px; border-radius: 99px; margin-top: 3px; display: inline-block;}.owner-liff .stt.paid{background: #e4f7ee; color: var(--pos);}.owner-liff .stt.post{background: #eef3ff; color: var(--pp-blue);}.owner-liff .stt.draft{background: #f0f3f9; color: var(--pp-mute);}.owner-liff .stt.due{background: #fff2db; color: #a8740a;}.owner-liff .stt.prog{background: #fdeaf4; color: var(--pp-magenta);}.owner-liff .stt.done{background: #e4f7ee; color: var(--pos);}.owner-liff .sheet .deep{margin: 8px 18px calc(8px + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: center; gap: 8px; background: #fff; border: 1.5px solid var(--pp-line); border-radius: var(--pp-r-md); padding: 13px; font-weight: 800; font-size: 13px; color: var(--pp-ink); text-decoration: none;}.owner-liff .sheet .deep span{color: var(--pp-magenta);}@keyframes pp-owner-spin{to{transform: rotate(360deg);}}

/* /promptprint_production_status/static/src/liff/liff_prod_status.scss */
 .pps-liff{--pp-magenta: #EC008C; --pp-yellow: #FFC400; --pp-cyan: #00B8D4; --pp-ink: #0F1A3A; --pp-mute: #6B7795; --pp-line: #DFE4EF; --pp-bg: #F6F8FC; --pp-paper: #FFFFFF; --pp-blue-900: #0B3C91; --pp-blue-700: #1463C6; --pp-blue-500: #2E8BE6; --pp-blue-50: #EAF3FF; --pp-ok-bg: #16A34A; --pp-warn-bg: #F5A524; --pp-danger-bg:#DC2626; --pp-info-bg: #2E8BE6; --pp-font-sans: "Prompt", "Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; --pp-r-md: 12px; --pp-r-lg: 16px; --pp-r-pill: 999px; --pp-shadow-card: 0 20px 48px -20px rgba(15, 26, 58, 0.20); --pp-shadow-btn: 0 14px 28px -10px rgba(236, 0, 140, 0.50); --pp-shadow-sm: 0 2px 6px rgba(15, 26, 58, 0.06); --pp-safe-bottom: env(safe-area-inset-bottom, 0px); --pp-cmyk-stripe: linear-gradient(90deg, var(--pp-cyan) 0 25%, var(--pp-magenta) 25% 50%, var(--pp-yellow) 50% 75%, var(--pp-ink) 75% 100%); font-family: var(--pp-font-sans); font-weight: 500; font-size: 14px; line-height: 1.45; color: var(--pp-ink); background: var(--pp-bg); -webkit-tap-highlight-color: transparent; min-height: 100vh;}.pps-liff *{box-sizing: border-box;}.pps-liff .pp-page{display: flex; flex-direction: column; min-height: 100vh;}.pps-liff .pp-muted{color: var(--pp-mute);}.pps-liff .pp-btn{display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 12px 18px; border-radius: var(--pp-r-md); font-family: inherit; font-weight: 800; font-size: 13.5px; line-height: 1; text-decoration: none; cursor: pointer; border: none; transition: background .15s ease, transform .12s ease;}.pps-liff .pp-btn:active{transform: scale(0.98);}.pps-liff .pp-btn--primary{background: var(--pp-magenta); color: #fff; box-shadow: var(--pp-shadow-btn);}.pps-liff .pp-btn--ghost{background: transparent; color: var(--pp-ink); border: 1px solid var(--pp-line);}.pps-liff .pp-btn--block{width: 100%;}.pps-liff .pp-cmyk-stripe{height: 4px; background: var(--pp-cmyk-stripe);}.pps-liff .pp-card{background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: var(--pp-r-lg); padding: 20px;}.pps-liff .pp-sticky-cta{position: sticky; bottom: 0; left: 0; right: 0; padding: 12px 16px; padding-bottom: calc(12px + var(--pp-safe-bottom)); background: var(--pp-paper); border-top: 1px solid var(--pp-line); box-shadow: 0 -4px 14px rgba(15, 26, 58, 0.06); z-index: 200;}.pps-liff .pp-sticky-cta .pp-btn--primary{font-size: 16px;}.pps-liff .ppld-hdr{padding: 14px 16px; background: linear-gradient(135deg, var(--pp-blue-900), var(--pp-blue-700)); color: #fff;}.pps-liff .ppld-hdr__row{display: flex; align-items: center; justify-content: space-between; gap: 10px;}.pps-liff .ppld-hdr__title{margin: 0; font-size: 19px; font-weight: 800; line-height: 1.2;}.pps-liff .ppld-hdr__sub{opacity: .9; font-size: 12.5px; margin-top: 3px; display: flex; align-items: center; gap: 6px;}.pps-liff .ppld-hdr__brand{display: inline-flex; align-items: center; gap: 5px; font-weight: 700;}.pps-liff .ppld-hdr__brand b{color: var(--pp-yellow);}.pps-liff .ppld-refresh{flex-shrink: 0; background: rgba(255, 255, 255, 0.16); border: none; color: #fff; width: 36px; height: 36px; border-radius: 50%; font-size: 19px; line-height: 1; cursor: pointer; transition: background .15s ease; display: inline-flex; align-items: center; justify-content: center;}.pps-liff .ppld-refresh:active{background: rgba(255, 255, 255, 0.32);}.pps-liff .ppld-readonly{background: var(--pp-blue-50); border-bottom: 1px solid var(--pp-blue-500); color: var(--pp-blue-900); font-size: 12px; font-weight: 700; text-align: center; padding: 7px 12px; display: flex; align-items: center; justify-content: center; gap: 6px;}.pps-liff .pp-scroll{flex: 1; padding: 14px 14px 18px; display: flex; flex-direction: column; gap: 14px;}.pps-liff .scan-block{display: flex; flex-direction: column; gap: 10px;}.pps-liff .scan-block .pp-btn--primary{font-size: 16px; padding: 14px 18px;}.pps-liff .scan-row{display: flex; align-items: center; justify-content: space-between;}.pps-liff .scan-type{display: flex; gap: 8px;}.pps-liff .scan-type__input{flex: 1; min-width: 0; font-family: inherit; font-size: 14px; font-weight: 600; color: var(--pp-ink); background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: var(--pp-r-md); padding: 10px 12px; min-height: 44px;}.pps-liff .scan-type__input:focus{outline: none; border-color: var(--pp-blue-500);}.pps-liff .scan-type__btn{flex-shrink: 0;}.pps-liff .scan-resolved{display: flex; align-items: center; gap: 8px; background: #E8F6EE; border: 1px solid #BEE7CD; color: #166534; border-radius: var(--pp-r-md); padding: 9px 12px; font-size: 13.5px; font-weight: 700;}.pps-liff .scan-resolved__check{flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--pp-ok-bg); color: #fff; font-size: 11px; font-weight: 900; display: inline-flex; align-items: center; justify-content: center;}.pps-liff .scan-resolved code{font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 700; letter-spacing: .3px;}.pps-liff .pps-rollup{display: flex; align-items: center; justify-content: space-between; gap: 12px; background: linear-gradient(135deg, var(--pp-blue-900), var(--pp-blue-700)); color: #fff; border-radius: var(--pp-r-lg); padding: 13px 15px;}.pps-liff .pps-rollup .rl-l{display: flex; flex-direction: column; gap: 3px; min-width: 0;}.pps-liff .pps-rollup .rl-tag{font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .85;}.pps-liff .pps-rollup .rl-name{font-size: 16px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.pps-liff .pps-rollup .rl-r{display: flex; gap: 16px; flex-shrink: 0;}.pps-liff .pps-rollup .rl-stat{display: flex; flex-direction: column; align-items: flex-end;}.pps-liff .pps-rollup .rk{font-size: 10.5px; opacity: .85; font-weight: 600;}.pps-liff .pps-rollup .rv{font-size: 18px; font-weight: 900; font-variant-numeric: tabular-nums;}.pps-liff .ord{padding: 16px;}.pps-liff .ord__top{display: flex; align-items: flex-start; gap: 10px;}.pps-liff .ord__qr{flex-shrink: 0; width: 56px; height: 56px; border: 1px solid var(--pp-line); border-radius: 8px; padding: 3px; background: #fff;}.pps-liff .ord__qr img{width: 100%; height: 100%; display: block; object-fit: contain;}.pps-liff .ord__name{font-size: 21px; font-weight: 800; letter-spacing: -0.018em; line-height: 1.15;}.pps-liff .ord__name code{font-family: inherit;}.pps-liff .ord__product{margin-top: 6px; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--pp-ink);}.pps-liff .ord__meta{margin-top: 12px; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 12.5px; color: var(--pp-mute);}.pps-liff .ord__meta b{color: var(--pp-ink); font-weight: 700;}.pps-liff .ord__progwrap{margin-top: 14px;}.pps-liff .ord__progtop{display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 6px;}.pps-liff .ord__proglabel{font-size: 12.5px; color: var(--pp-mute); font-weight: 700;}.pps-liff .ord__progpct{font-size: 16px; font-weight: 900; font-variant-numeric: tabular-nums; color: var(--pp-blue-700);}.pps-liff .ord__chain{margin-top: 13px; padding-top: 12px; border-top: 1px dashed var(--pp-line); font-size: 11.5px; color: var(--pp-mute); line-height: 1.5; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; word-break: break-all;}.pps-liff .ord__chain .sep{color: var(--pp-line); margin: 0 3px;}.pps-liff .ord__chain b{color: var(--pp-ink); font-weight: 700;}.pps-liff .tl-head{display: flex; align-items: baseline; justify-content: space-between; padding: 2px 2px 0;}.pps-liff .tl-head__title{font-size: 16px; font-weight: 800;}.pps-liff .tl{position: relative; padding-left: 34px;}.pps-liff .tl::before{content: ""; position: absolute; left: 13px; top: 8px; bottom: 14px; width: 2px; background: var(--pp-line); border-radius: 2px;}.pps-liff .tl-node{position: relative; margin-bottom: 14px;}.pps-liff .tl-node:last-child{margin-bottom: 0;}.pps-liff .tl-node__dot{position: absolute; left: -34px; top: 14px; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; color: #fff; box-shadow: 0 0 0 4px var(--pp-bg); font-variant-numeric: tabular-nums; z-index: 2; background: #CBD5E1; color: #64748B;}.pps-liff .tl-node__dot.is-done{background: var(--pp-ok-bg); color: #fff;}.pps-liff .tl-node__dot.is-prog{background: var(--pp-warn-bg); color: #5a3d00;}.pps-liff .tl-node__dot.is-blocked{background: var(--pp-danger-bg); color: #fff;}.pps-liff .tl-node__dot.is-pending{background: #CBD5E1; color: #64748B;}.pps-liff .tl-node__dot.is-none{background: #E2E8F0; color: #94A3B8;}.pps-liff .tl-node--active .tl-node__dot{box-shadow: 0 0 0 4px var(--pp-bg), 0 0 0 8px rgba(245, 165, 36, 0.28), 0 0 18px 2px rgba(245, 165, 36, 0.45);}.pps-liff .ppld-card{background: var(--pp-paper); border: 1px solid var(--pp-line); border-radius: var(--pp-r-lg); padding: 12px 13px; box-shadow: var(--pp-shadow-sm);}.pps-liff .ppld-card__row{display: flex; justify-content: space-between; align-items: center; gap: 10px;}.pps-liff .tl-node--active .ppld-card{border-color: var(--pp-warn-bg); box-shadow: 0 0 0 1px var(--pp-warn-bg), 0 10px 24px -12px rgba(245, 165, 36, 0.55);}.pps-liff .stage-title{font-size: 14.5px; font-weight: 800; line-height: 1.2; min-width: 0;}.pps-liff .stage-title small{display: block; font-size: 11px; font-weight: 600; color: var(--pp-mute); margin-top: 2px;}.pps-liff .ppld-pill{flex-shrink: 0; font-size: 11.5px; padding: 3px 10px; border-radius: 12px; font-weight: 700; white-space: nowrap; background: #E5E7EB; color: #374151;}.pps-liff .ppld-pill.is-done{background: var(--pp-ok-bg); color: #fff;}.pps-liff .ppld-pill.is-prog{background: var(--pp-warn-bg); color: #4a3300;}.pps-liff .ppld-pill.is-blocked{background: var(--pp-danger-bg); color: #fff;}.pps-liff .ppld-pill.is-pending{background: #E5E7EB; color: #374151;}.pps-liff .ppld-pill.is-none{background: #EEF1F6; color: #94A3B8;}.pps-liff .ppld-pill--xs{font-size: 10.5px; padding: 2px 8px;}.pps-liff .wo-list{margin-top: 10px; display: flex; flex-direction: column; gap: 9px;}.pps-liff .wo{border-top: 1px solid var(--pp-line); padding-top: 9px;}.pps-liff .wo:first-child{border-top: none; padding-top: 2px;}.pps-liff .wo__top{display: flex; align-items: flex-start; justify-content: space-between; gap: 8px;}.pps-liff .wo__name{font-size: 13px; font-weight: 700; line-height: 1.3; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.pps-liff .wo__meta{margin-top: 3px; font-size: 11.5px; color: var(--pp-mute); line-height: 1.45; display: flex; flex-direction: column; gap: 1px;}.pps-liff .wo__meta .mrow{display: flex; align-items: center; gap: 5px;}.pps-liff .wo__meta .mrow i{font-style: normal; opacity: .7; width: 13px; text-align: center;}.pps-liff .wo__barwrap{display: flex; align-items: center; gap: 8px; margin-top: 7px;}.pps-liff .wo__barpct{font-size: 11px; font-weight: 800; color: var(--pp-mute); width: 34px; text-align: right; font-variant-numeric: tabular-nums; flex-shrink: 0;}.pps-liff .ppld-bar{height: 7px; background: var(--pp-blue-50); border-radius: 4px; overflow: hidden; flex: 1;}.pps-liff .ppld-bar i{display: block; height: 7px; border-radius: 4px; background: var(--pp-blue-500);}.pps-liff .ppld-bar.is-done i{background: var(--pp-ok-bg);}.pps-liff .ppld-bar.is-prog i{background: var(--pp-warn-bg);}.pps-liff .ppld-bar.is-blocked i{background: var(--pp-danger-bg);}.pps-liff .ppld-bar.empty{background: #EEF1F6;}.pps-liff .ppld-bar--lg{height: 9px;}.pps-liff .ppld-bar--lg i{height: 9px;}.pps-liff .proc-empty{margin-top: 10px; font-size: 12px; color: var(--pp-mute); background: var(--pp-bg); border: 1px dashed var(--pp-line); border-radius: 8px; padding: 9px 11px; text-align: center;}.pps-liff .pps-state{display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; padding: 40px 24px; color: var(--pp-mute);}.pps-liff .pps-state .ic{font-size: 34px; line-height: 1;}.pps-liff .pps-state .msg{font-size: 15px; font-weight: 700; color: var(--pp-ink);}.pps-liff .pps-state .hint{font-size: 12.5px; color: var(--pp-mute);}.pps-liff .pps-state b{color: var(--pp-ink);}.pps-liff .pps-error .ic{color: var(--pp-danger-bg);}.pps-liff .pps-notfound .ic{color: var(--pp-mute);}.pps-liff .pps-spinner{width: 30px; height: 30px; border-radius: 50%; border: 3px solid var(--pp-blue-50); border-top-color: var(--pp-blue-500); animation: pps-liff-spin .7s linear infinite;}@keyframes pps-liff-spin{to{transform: rotate(360deg);}}

/* /promptprint_production_status/static/src/liff/production_manager_app.scss */
 .pm-app{font-family: "Prompt","Noto Sans Thai",sans-serif; color: #0F1A3A; background: #F6F8FC; min-height: 100vh; padding-bottom: 64px; font-weight: 500;}.pm-center{padding: 80px 24px; text-align: center; color: #6B7795;}.pm-denied-ic{font-size: 40px; margin-bottom: 10px;}.pm-hdr{background: linear-gradient(135deg, #0F1A3A, #1A4FCF); color: #fff; padding: 16px 18px;}.pm-hdr-title{font-size: 19px; font-weight: 800;}.pm-hdr-sub{font-size: 11.5px; opacity: .82; margin-top: 2px;}.pm-eyebrow{font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #FF6BBE;}.pm-hello{font-weight: 800; font-size: 19px; margin-top: 3px; color: #fff;}.pm-hello.sm{font-size: 17px;}.pm-pad{padding: 16px;}.pm-kpis{display: grid; grid-template-columns: 1fr 1fr; gap: 11px;}.pm-kpi{background: #fff; border: 1px solid #DFE4EF; border-radius: 14px; padding: 13px 14px;}.pm-kpi .n{font-weight: 900; font-size: 30px; line-height: 1;}.pm-kpi .l{font-size: 12px; color: #6B7795; margin-top: 5px;}.pm-kpi.red .n{color: #E5384B;}.pm-kpi.green .n{color: #1FA971;}.pm-kpi.cyan .n{color: #00B8D4;}.pm-wip{background: #fff; border: 1px solid #DFE4EF; border-radius: 14px; padding: 14px; margin-top: 13px;}.pm-wip-t{font-weight: 800; font-size: 13px; margin-bottom: 10px;}.pm-wip-row{display: flex; gap: 7px;}.pm-stage{flex: 1; text-align: center; background: #F6F8FC; border-radius: 10px; padding: 9px 4px;}.pm-stage .sn{font-weight: 900; font-size: 19px;}.pm-stage .sl{font-size: 9.5px; color: #6B7795; margin-top: 2px;}.pm-stage.hot{background: rgba(229, 56, 75, 0.08);}.pm-stage.hot .sn{color: #E5384B;}.pm-sect{font-weight: 800; font-size: 14px; margin: 18px 2px 11px; display: flex; justify-content: space-between;}.pm-sect a{font-size: 12px; color: #1A4FCF; font-weight: 700; text-decoration: none;}.pm-q{background: #fff; border: 1px solid #DFE4EF; border-radius: 14px; overflow: hidden;}.pm-qrow{display: flex; align-items: center; gap: 11px; padding: 13px 14px; border-bottom: 1px solid #DFE4EF;}.pm-qrow:last-child{border-bottom: none;}.pm-dot{width: 9px; height: 9px; border-radius: 50%; flex: none;}.pm-dot.red{background: #E5384B;}.pm-dot.amber{background: #F59E0B;}.pm-dot.blue{background: #1A4FCF;}.pm-qmeta{flex: 1; min-width: 0;}.pm-qmeta .qt{font-weight: 700; font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.pm-qmeta .qs{font-size: 11.5px; color: #6B7795; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.pm-obtn{flex: none; font-size: 11px; font-weight: 700; color: #1A4FCF; border: 1px solid #1A4FCF; border-radius: 999px; padding: 5px 11px;}.pm-filters{display: flex; gap: 7px; padding: 12px 16px 4px; overflow-x: auto;}.pm-chip{font-size: 12px; font-weight: 700; padding: 6px 13px; border-radius: 999px; background: #fff; border: 1px solid #DFE4EF; color: #6B7795; white-space: nowrap;}.pm-chip.on{background: #0F1A3A; color: #fff; border-color: #0F1A3A;}.pm-mo{background: #fff; border: 1px solid #DFE4EF; border-radius: 13px; padding: 12px 13px; margin-bottom: 10px;}.pm-mo.late{border-color: rgba(229, 56, 75, 0.4);}.pm-mo .top{display: flex; justify-content: space-between; gap: 8px;}.pm-mo .nm{font-weight: 800; font-size: 14px;}.pm-mo .prod, .pm-mo .cust{font-size: 12px; color: #6B7795;}.pm-sbadge{font-size: 10px; font-weight: 800; padding: 3px 9px; border-radius: 999px; background: rgba(26, 79, 207, 0.12); color: #1A4FCF; white-space: nowrap; height: fit-content;}.pm-pbar{height: 6px; background: #DFE4EF; border-radius: 99px; margin-top: 10px; overflow: hidden;}.pm-pbar i{display: block; height: 100%; background: linear-gradient(90deg, #EC008C, #1A4FCF);}.pm-mo .ft{display: flex; justify-content: space-between; font-size: 11px; color: #6B7795; margin-top: 6px;}.pm-mo .ft .dl{color: #E5384B; font-weight: 700;}.pm-prod{margin-top: 14px;}.pm-prod-t{font-weight: 800; font-size: 14px; margin: 0 2px 11px;}.pm-prod-c{font-weight: 600; font-size: 12px; color: #6B7795;}.pm-wo{display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin-top: 8px; font-size: 11.5px; background: rgba(6, 199, 85, 0.08); border: 1px solid rgba(6, 199, 85, 0.22); border-radius: 9px; padding: 6px 9px;}.pm-wo-ic{font-size: 12px;}.pm-wo-lbl{color: #6B7795;}.pm-wo-nm{font-weight: 800; color: #0F7A3A;}.pm-wo-ctr{color: #6B7795;}.pm-det-hd{background: #0F1A3A; color: #fff; padding: 16px 18px;}.pm-det-hd .ring{float: right; font-weight: 900; font-size: 22px;}.pm-det-hd .nm{font-weight: 800; font-size: 17px;}.pm-det-hd .meta{font-size: 12px; opacity: .85; margin-top: 3px;}.pm-stagecard{background: #fff; border: 1px solid #DFE4EF; border-radius: 13px; padding: 12px 14px; margin-bottom: 10px; display: flex; align-items: center; gap: 12px;}.pm-scircle{width: 30px; height: 30px; border-radius: 50%; flex: none;}.pm-scircle.is-done{background: #1FA971;}.pm-scircle.is-prog{background: #1A4FCF;}.pm-scircle.is-pend{background: #DFE4EF;}.pm-stagecard .sinfo{flex: 1;}.pm-stagecard .t{font-weight: 700; font-size: 13.5px;}.pm-stagecard .spct{font-weight: 800; font-size: 13px; color: #6B7795;}.pm-bigbtn{background: #1A4FCF; color: #fff; text-align: center; font-weight: 700; font-size: 14px; padding: 13px; border-radius: 12px; margin-top: 6px;}.pm-bnav{position: fixed; bottom: 0; left: 0; right: 0; background: #fff; border-top: 1px solid #DFE4EF; display: flex; padding: 8px 6px 10px;}.pm-bnav .it{flex: 1; text-align: center; color: #6B7795; font-size: 10.5px; font-weight: 600;}.pm-bnav .it.on{color: #EC008C;}.pm-bnav .ic{font-size: 19px; margin-bottom: 3px;}