:root{--navy:#1c3a5e;--navy-bg:#e8eef6;--blue:#2563eb;--blue-bg:#e6eefc;--ok:#0f9d6e;--ok-bg:#e3f5ee;--warn:#c47f00;--warn-bg:#fbf0d9;--bad:#dc3a3a;--bad-bg:#fce8e8;--bg:#f4f6f9;--surface:#ffffff;--field:#f7f9fb;--line:#e6e9ef;--track:#eef1f5;--ink:#171c26;--muted:#5e6979;--faint:#9aa4b2;--mono:"IBM Plex Mono", ui-monospace, monospace;--font:"IBM Plex Sans Thai", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%}body{font-family:var(--font);background:#0d1622;color:var(--ink);-webkit-font-smoothing:antialiased;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:100vh}#root{display:flex;align-items:center;justify-content:center}.mono{font-family:var(--mono)}button{font-family:var(--font)}.app{position:relative;height:100%;width:100%;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.screen-host{flex:1;position:relative;overflow:hidden}.screen,.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg)}.overlay{z-index:100;animation:slideIn .26s cubic-bezier(.22,1,.36,1)}.topbar{flex-shrink:0;padding:56px 16px 0;background:var(--bg);border-bottom:1px solid transparent}.scroll{flex:1;overflow-y:auto;padding:14px 16px 16px;-webkit-overflow-scrolling:touch}.scroll::-webkit-scrollbar{width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px}.iconbtn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;flex-shrink:0}.iconbtn-lg{width:50px;height:50px;border-radius:13px;border:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--navy);cursor:pointer;flex-shrink:0}.iconbtn-lg:disabled{color:var(--faint)}.dot-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--bad);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.pill-pending{font-size:10.5px;font-weight:700;color:var(--warn);background:var(--warn-bg);padding:3px 8px;border-radius:99px;flex-shrink:0}.chiprow{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px}.chiprow::-webkit-scrollbar{height:0}.select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 34px 11px 12px;font-family:var(--font);font-size:14.5px;font-weight:500;color:var(--ink);background:var(--field);outline:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235e6979' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.actionbar{flex-shrink:0;display:flex;gap:10px;padding:12px 16px 34px;background:var(--surface);border-top:1px solid var(--line)}.bottomnav{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);padding:9px 6px 24px;position:relative}.navitem{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;border:none;background:none;cursor:pointer;color:var(--faint);font-size:10.5px;font-weight:600;padding:2px 0;transition:color .15s}.navitem[data-active=true]{color:var(--navy)}.navfab{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;border:none;background:none;cursor:pointer;margin-top:-22px}.navfab-ring{width:52px;height:52px;border-radius:17px;background:var(--navy);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #1c3a5e59;border:3px solid var(--surface)}.scanline{position:absolute;left:22px;right:22px;height:2.5px;border-radius:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);box-shadow:0 0 12px 2px #3b82f699;animation:scan 1.6s ease-in-out infinite}.live-toast{position:absolute;left:12px;right:12px;top:54px;z-index:150;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:#171c26f0;color:#fff;box-shadow:0 8px 24px #10182847;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:toastIn .3s cubic-bezier(.22,1,.36,1);pointer-events:none}.live-dot{width:8px;height:8px;border-radius:99px;background:#5fe0b0;flex-shrink:0;animation:pulse 1.4s ease-in-out infinite}@keyframes toastIn{0%{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{box-shadow:0 0 #5fe0b099}50%{box-shadow:0 0 0 5px #5fe0b000}}@keyframes scan{0%,to{top:28px}50%{top:200px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.phone-root{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg)}.phone-root .topbar{padding-top:calc(16px + env(safe-area-inset-top))}.phone-root .bottomnav{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.phone-root .actionbar{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.phone-root .live-toast{top:calc(10px + env(safe-area-inset-top))}
