:root{--navy:#07366f;--navy-2:#052c5f;--teal:#119b9e;--teal-dark:#087c80;--mint:#e8f8f5;--blue-soft:#edf6fb;--ink:#102f58;--muted:#64758b;--line:#dce6ed;--danger:#ed5a6f;--warning:#f3aa3c;--success:#2eae78;--surface:#fff;--bg:#f4f8fb;--shadow:0 10px 30px #08375e17;color:var(--ink);background:var(--bg);font-family:Noto Sans Thai,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:linear-gradient(150deg,#eef8fa 0,#f7f9fc 36%,#eef4fb);margin:0}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.app-shell{background:#fbfdff;max-width:520px;min-height:100dvh;margin:auto;padding-bottom:92px;box-shadow:0 0 80px #0c31591f}.page{padding:20px 20px 32px}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-head h1{margin:0;font-size:25px;font-weight:800}.icon-btn{width:44px;height:44px;color:var(--navy);background:#fff;border:0;border-radius:14px;place-items:center;display:grid;box-shadow:0 4px 18px #08375e14}.card{box-shadow:var(--shadow);background:#fff;border:1px solid #c8d8e2c7;border-radius:22px}.section-title{margin:26px 0 12px;font-size:20px;font-weight:800}.muted{color:var(--muted)}.pill{border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:700;display:inline-flex}.pill.success{color:#11704c;background:#daf5e8}.pill.warning{color:#966118;background:#fff1d6}.btn{border:0;border-radius:15px;justify-content:center;align-items:center;gap:9px;padding:14px 20px;font-weight:800;transition:all .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--teal),#087f8f);box-shadow:0 8px 18px #119b9e38}.btn-secondary{color:var(--navy);background:#edf5fa}.btn-block{width:100%}.bottom-nav{z-index:20;width:min(520px,100%);height:80px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(135deg,#073d7d,#052c62);border-radius:24px 24px 0 0;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -6px 28px #082d5a2e}.nav-item{color:#fff;opacity:.86;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex}.nav-item.active{color:#39d6cf;opacity:1}.nav-item svg{width:23px;height:23px}.field{gap:7px;display:grid}.field label{font-size:14px;font-weight:700}.input{width:100%;color:var(--ink);background:#fff;border:1px solid #cbdbe5;border-radius:13px;outline:none;padding:12px 14px}.input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #119b9e1f}textarea.input{resize:vertical;min-height:100px}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.empty-state{text-align:center;padding:36px}.toast{z-index:99;color:#fff;background:#07366f;border-radius:14px;width:min(440px,100% - 32px);padding:13px 16px;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #082f5966}.skeleton{background:linear-gradient(90deg,#edf2f5,#f8fafb,#edf2f5) 0 0/200% 100%;border-radius:12px;animation:1.2s infinite shine}@keyframes shine{to{background-position:-200% 0}}@media (width>=840px){.desktop-wrap{max-width:1280px;margin:auto}.app-shell{margin-left:auto;margin-right:auto}}@media (width<=380px){.page{padding-left:14px;padding-right:14px}.grid-2{grid-template-columns:1fr}.bottom-nav{padding-left:5px;padding-right:5px}.nav-item{font-size:10px}}.realtime-toast[data-v-2b4afff5]{z-index:80;top:max(14px,env(safe-area-inset-top));color:#fff;background:#073b78;border-radius:16px;grid-template-columns:34px 1fr 26px;align-items:center;gap:10px;width:min(390px,100vw - 32px);padding:13px 14px;text-decoration:none;display:grid;position:fixed;right:16px;box-shadow:0 14px 40px #05295744}.realtime-toast>svg[data-v-2b4afff5]{color:#48d6ce}.realtime-toast small[data-v-2b4afff5],.realtime-toast span[data-v-2b4afff5],.realtime-toast strong[data-v-2b4afff5]{display:block}.realtime-toast small[data-v-2b4afff5]{opacity:.82}.realtime-toast button[data-v-2b4afff5]{color:#fff;background:0 0;border:0;padding:3px}.realtime-toast button svg[data-v-2b4afff5]{width:18px}.notice-enter-active[data-v-2b4afff5],.notice-leave-active[data-v-2b4afff5]{transition:all .2s}.notice-enter-from[data-v-2b4afff5],.notice-leave-to[data-v-2b4afff5]{opacity:0;transform:translateY(-12px)}
