:root{--pink: #e6007e;--pink-dark: #a3005a;--plum: #4a0026;--ink: #14205c;--purple: #7c4dff;--bg: #fdf6f9;--surface: #ffffff;--border: #f0dbe6;--text: #1a1c2b;--text-muted: #6b7189;--on-dark: #ffffff;--success: #0f9d58;--warning: #f4a100;--danger: #d93025;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--shadow-card: 0 4px 12px rgba(11, 16, 51, .08);--font: "Kanit", "Segoe UI", "Noto Sans Thai", system-ui, sans-serif;--topbar-h: 56px;--bottomnav-h: 60px;--tap: 44px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:16px;line-height:1.55;overflow-wrap:break-word}h1,h2,h3,h4{margin:0 0 8px;font-weight:700;line-height:1.3}h1{font-size:22px}h2{font-size:18px}h3{font-size:16px}@media(min-width:720px){h1{font-size:26px}h2{font-size:20px}h3{font-size:17px}}a{color:var(--pink-dark)}.appShell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse 900px 500px at 100% 0%,#ffe3f0 0%,transparent 60%),var(--bg)}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);background:linear-gradient(160deg,var(--plum) 0%,var(--pink-dark) 100%);color:var(--on-dark);padding:0 12px;display:flex;align-items:center;gap:8px}.backBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;background:transparent;color:var(--on-dark);font-size:20px;line-height:1;width:var(--tap);height:var(--tap);flex:none;display:grid;place-items:center;border-radius:var(--radius-pill)}.backBtn:hover{background:#ffffff24}.topbar .brand{display:flex;align-items:center;gap:8px;min-width:0;font-weight:700;font-size:15px;text-decoration:none;color:var(--on-dark)}.topbar .brandMark{width:30px;height:30px;flex:none;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;background:#fff;overflow:hidden}.topbar .brandMark img{width:100%;height:100%;object-fit:cover;display:block}.brandName{display:none}@media(min-width:480px){.brandName{display:inline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.langSwitcher{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.4);cursor:pointer;background:#ffffff1f;color:var(--on-dark);font-family:inherit;font-size:12px;font-weight:600;margin-inline-start:auto;flex:none;height:32px;max-width:72px;padding:0 6px;border-radius:var(--radius-pill)}@media(min-width:720px){.langSwitcher{max-width:none}}.signOutBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;background:transparent;color:#ffffffd9;font-family:inherit;font-size:13px;flex:none;width:var(--tap);height:var(--tap);border-radius:var(--radius-pill);display:grid;place-items:center}.signOutBtn:hover{background:#ffffff24;color:#fff}.signOutBtn:before{content:"⏻";font-size:18px}.signOutLabel{display:none}@media(min-width:720px){.signOutBtn{width:auto;height:auto;padding:8px 14px;gap:6px}.signOutBtn:before{content:""}.signOutLabel{display:inline}}.loginCta{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;text-decoration:none;font-family:inherit;font-weight:800;font-size:16px;color:var(--pink-dark);background:#fff;flex:none;white-space:nowrap;min-height:var(--tap);padding:0 26px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #0003;transition:transform .1s ease-out,box-shadow .1s ease-out}.loginCta:hover{box-shadow:0 6px 18px #00000042;transform:translateY(-1px)}.topNav{display:none}@media(min-width:720px){.topNav{display:flex;gap:4px;flex-wrap:wrap;margin-inline-start:8px}.topNav a{color:#ffffffd9;text-decoration:none;padding:8px 14px;border-radius:var(--radius-pill);font-size:14px;min-height:var(--tap);display:inline-flex;align-items:center}.topNav a:hover{background:#ffffff24;color:#fff}.topNav a.active{background:#ffffff38;color:#fff;font-weight:600}}.bottomNav{position:fixed;inset-inline:0;bottom:0;z-index:30;height:var(--bottomnav-h);display:flex;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 12px #0b103314;padding-bottom:env(safe-area-inset-bottom,0)}.bottomNavItem{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text-muted);font-size:11px;padding:6px 2px}.bottomNavIcon{font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;transition:background .12s ease-out}.bottomNavLabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottomNavItem.active{color:var(--pink);font-weight:600}.bottomNavItem.active .bottomNavIcon{background:linear-gradient(135deg,var(--pink) 0%,var(--pink-dark) 100%);font-size:16px}@media(min-width:720px){.bottomNav{display:none}}.page{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:16px 16px calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + 24px)}@media(min-width:720px){.page{padding:24px 20px 64px}}.pageNarrow{max-width:560px;margin:0 auto}.pageHead{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.pageHead h1{margin:0;display:flex;align-items:center;gap:10px}.pageHead h1:before{content:"";flex:none;width:6px;height:22px;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--pink) 0%,var(--ink) 100%)}.spacer{margin-inline-start:auto}.sectionHead{margin:24px 0 12px}.sectionHead h2{margin:0;font-size:17px}.modeToggle{display:flex;gap:4px;background:#f3ecf1;border-radius:var(--radius-pill);padding:4px;margin-bottom:16px;max-width:320px}.modeToggle button{flex:1;border:none;background:transparent;padding:10px 14px;border-radius:var(--radius-pill);font-weight:600;font-size:14px;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.modeToggle button.active{background:var(--pink);color:#fff}.modeToggle.scrollTabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.modeToggle.scrollTabs button{flex:none;white-space:nowrap}.splashWrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;text-align:center;background:linear-gradient(160deg,var(--plum) 0%,var(--pink-dark) 100%);color:var(--on-dark)}.splashToolsFrame{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.splashToolIcon{position:absolute;top:0;left:0;font-size:22px;filter:drop-shadow(0 0 6px rgba(255,212,0,.55));offset-path:inset(16px round 20px);animation-name:toolsOrbit;animation-duration:14s;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes toolsOrbit{0%{offset-distance:0%}to{offset-distance:100%}}@media(prefers-reduced-motion:reduce){.splashToolIcon{animation:none}}.splashRing{position:relative;width:46vw;aspect-ratio:1 / 1;max-width:340px}.splashRing img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid #fff;display:block;background:#fff;transition:transform .15s ease-out;animation:splashPigFlex 2.4s ease-in-out infinite}@keyframes splashPigFlex{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.05) rotate(-2deg)}60%{transform:scale(.98) rotate(2deg)}}.splashProgress{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;width:calc(100% + 20px);height:calc(100% + 20px);transform:rotate(-90deg)}.splashProgressTrack{fill:none;stroke:#ffffff40;stroke-width:4}.splashProgressBar{fill:none;stroke:url(#splashFireGradient);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(255,109,0,.85));stroke-dasharray:289;stroke-dashoffset:289;animation:splashRun 3s linear forwards}@keyframes splashRun{to{stroke-dashoffset:0}}.splashEmbers{position:absolute;left:0;right:0;top:-70px;bottom:-70px;pointer-events:none}.splashEmber{position:absolute;bottom:0;border-radius:50%;background:radial-gradient(circle,#fff9c4,#ffb300 55%,#ff3d00);box-shadow:0 0 6px 2px #ff8c00cc;opacity:0;animation-name:emberFloat;animation-timing-function:ease-in;animation-iteration-count:infinite}@keyframes emberFloat{0%{transform:translateY(0) scale(1);opacity:0}12%{opacity:.9}85%{opacity:.5}to{transform:translateY(-160px) scale(.3);opacity:0}}.splashWrap h1{margin:4px 0 0;font-size:22px;transition:opacity .2s}.splashWrap p{margin:0;color:#ffffffd9;font-size:14px;transition:opacity .2s}.splashWrap p.splashMotto{margin:6px 0 0;font-weight:800;font-size:21px;letter-spacing:.02em;color:#ffd400;background:linear-gradient(90deg,#ffd400,#4fc3f7 18%,#fff8dc 32%,#ffd400,#4fc3f7 68%,#fff8dc 82%,#ffd400);background-size:250% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 20px rgba(255,212,0,.35),0 0 20px rgba(79,195,247,.35);animation:mottoShimmer 2.6s linear infinite}@media(min-width:480px){.splashWrap p.splashMotto{font-size:25px}}@keyframes mottoShimmer{to{background-position:-250% center}}@media(prefers-reduced-motion:reduce){.splashMotto{animation:none}}.splashWrap.bursting{animation:splashShake .5s ease-in-out}.splashWrap.bursting h1,.splashWrap.bursting p{opacity:0}.splashWrap.bursting .splashRing img{animation:splashPunch .65s cubic-bezier(.36,.07,.19,.97) forwards}.splashFlash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none}.bursting .splashFlash{animation:splashFlash .5s ease-out forwards}.splashParticle{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px;border-radius:50%;animation:splashParticle .65s cubic-bezier(.2,.7,.3,1) forwards}@keyframes splashPunch{0%{transform:scale(1);opacity:1}25%{transform:scale(1.25);opacity:1}55%{transform:scale(.2);opacity:1}to{transform:scale(0);opacity:0}}@keyframes splashFlash{0%{opacity:0}35%{opacity:.85}to{opacity:0}}@keyframes splashParticle{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}@keyframes splashShake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@media(prefers-reduced-motion:reduce){.splashProgressBar,.splashEmber,.splashRing img,.splashWrap.bursting,.splashWrap.bursting .splashRing img,.bursting .splashFlash,.splashParticle{animation:none!important}}.authWrap{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.authHero{position:relative;background:linear-gradient(160deg,var(--plum) 0%,var(--pink-dark) 100%);color:var(--on-dark);padding:36px 20px 48px;text-align:center;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}@media(min-width:480px){.authHero{padding:48px 20px 56px}}.authHero .ring{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;border:3px solid #fff;display:grid;place-items:center;overflow:hidden;background:#fff}.authHero .ring img{width:100%;height:100%;object-fit:cover;display:block}.authHero .langSwitcher{position:absolute;top:12px;right:12px;margin:0}@media(min-width:480px){.authHero .ring{width:88px;height:88px;margin-bottom:16px}}.authHero h1{margin:0;font-size:21px}.authHero p{margin:8px 0 0;color:#ffffffd9;font-size:14px}.authBody{max-width:460px;width:100%;margin:-24px auto 0;padding:0 16px 40px}@media(min-width:480px){.authBody{margin-top:-28px;padding:0 20px 48px}}.authBody.flush{margin-top:0;padding-top:24px}@media(min-width:480px){.authBody.flush{padding-top:32px}}.adminAuth .authBody.flush{flex:1;display:flex;flex-direction:column;justify-content:center}.card{background:var(--surface);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-card);margin-bottom:14px}@media(min-width:480px){.card{padding:20px;margin-bottom:16px}}.card.tight{padding:14px 16px}.card.cardLink,.statLink{display:block;color:inherit;text-decoration:none}.page:has(>.hubScreen){display:flex;flex-direction:column}.hubScreen{display:flex;flex-direction:column;flex:1;min-height:0}.hubTitle{margin:0 0 16px;text-align:center;flex:none}.hubGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(96px,1fr);gap:10px;flex:1 0 auto}@media(min-width:480px){.hubGrid{grid-template-columns:repeat(4,1fr);gap:14px}}.hubSection{flex:none;margin:0 0 20px}.hubSection:last-of-type{margin-bottom:0}.hubSectionTitle{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text-muted)}.hubSection .hubGrid{flex:none;grid-auto-rows:92px}@media(max-height:480px)and (orientation:landscape){.hubTitle{margin:0 0 8px;font-size:18px}.hubGrid{grid-template-columns:repeat(6,1fr);gap:8px}.page:has(>.hubScreen){padding-top:8px;padding-bottom:8px}}.hubTile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:8px;min-height:0;overflow:hidden;background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0b10330f,0 6px 16px #0b103314;text-decoration:none;color:inherit;transition:transform .12s ease-out,box-shadow .12s ease-out}.hubTile:hover{box-shadow:0 10px 24px #0b103329;transform:translateY(-3px)}.hubTile:active{transform:translateY(0) scale(.97);box-shadow:0 1px 3px #0b103314}.hubTileIcon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font-size:26px;line-height:1;background:#eceffa}.hubTile:nth-of-type(6n+2) .hubTileIcon{background:#fff0f6}.hubTile:nth-of-type(6n+3) .hubTileIcon{background:#eaf7ee}.hubTile:nth-of-type(6n+4) .hubTileIcon{background:#fff7e6}.hubTile:nth-of-type(6n+5) .hubTileIcon{background:#f2ecff}.hubTile:nth-of-type(6n+6) .hubTileIcon{background:#e6f7f7}.hubTileLabel{font-size:14px;font-weight:600;line-height:1.3}.hubChoice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:18px 10px;min-height:132px;border-radius:var(--radius-lg);color:#fff;text-decoration:none;box-shadow:0 1px 3px #0b10331a,0 8px 20px #0b103329;transition:transform .12s ease-out,box-shadow .12s ease-out}.hubChoice.hire{background:linear-gradient(135deg,var(--pink) 0%,var(--pink-dark) 100%)}.hubChoice.work{background:linear-gradient(135deg,var(--plum) 0%,var(--ink) 100%)}.hubChoice:hover{transform:translateY(-2px)}.hubChoice:active{transform:scale(.97)}.hubChoiceIcon{font-size:34px;line-height:1}.hubChoiceTitle{font-size:20px;font-weight:700;line-height:1.25}.hubChoiceSub{font-size:13px;line-height:1.3}.page:has(>.homeScreen){display:flex;flex-direction:column}.homeScreen{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;width:100%;max-width:720px;margin:0 auto}.homeAsk{margin:0;text-align:center;font-size:22px}.homeChoices{display:grid;grid-template-columns:1fr;gap:16px}.hubChoice.big{min-height:190px;gap:10px;padding:24px 14px}.hubChoice.big .hubChoiceIcon{font-size:56px}.hubChoice.big .hubChoiceTitle{font-size:30px}.hubChoice.big .hubChoiceSub{font-size:16px}.homeMenuLink{align-self:center;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 20px;font-weight:600}@media(min-width:720px){.homeChoices{grid-template-columns:1fr 1fr}}.cardRow{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.cardRow:last-child{border-bottom:none}.cardRow .label{color:var(--text-muted);font-size:14px}.cardRow .value{font-weight:600;font-size:14px;text-align:end}.cardRow.cardRow-stack{flex-direction:column;align-items:stretch;gap:6px;padding-block:12px}.grid{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:480px){.grid{gap:16px}.grid.cols2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid.cols3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}.stat{background:var(--surface);border-radius:var(--radius-md);padding:14px;box-shadow:var(--shadow-card)}@media(min-width:480px){.stat{padding:16px}}.stat .num{font-size:22px;font-weight:700;color:var(--ink)}.stat .lbl{font-size:13px;color:var(--text-muted)}.stat.pink{background:#fff5fa}.stat.blue{background:#f2f5ff}.stat.green{background:#f1faf4}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;min-height:var(--tap);padding:11px 22px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--pink) 0%,var(--pink-dark) 100%);color:#fff;box-shadow:0 4px 14px #e6007e52;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:opacity .15s,box-shadow .15s,transform .1s ease-out}.btn:hover:not(:disabled){opacity:.88}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #e6007e47}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.block{width:100%}.btn.sm{padding:7px 15px;font-size:14px;min-height:38px}.btn.outline{background:transparent;color:var(--pink);border:1.5px solid var(--pink);box-shadow:none}.btn.dark{background:linear-gradient(135deg,var(--ink) 0%,var(--plum) 100%);box-shadow:0 4px 14px #14205c59}.btn.ghost{background:transparent;color:var(--text-muted);box-shadow:none}.btn.danger{background:var(--danger);box-shadow:0 4px 14px #d930254d}.btn.success{background:var(--success);box-shadow:0 4px 14px #0f9d584d}.btnRow{display:flex;gap:8px;flex-wrap:wrap}.btnRow.stackOnMobile{flex-direction:column;align-items:stretch}.btnRow.stackOnMobile .btn{width:100%}@media(min-width:480px){.btnRow.stackOnMobile{flex-direction:row;align-items:center}.btnRow.stackOnMobile .btn{width:auto}}.locationPickerMap{width:100%;height:240px;border-radius:var(--radius-md);overflow:hidden;margin-top:8px;border:1px solid var(--border)}.locationPickerSearch{width:100%}.jobsMapCanvas{width:100%;height:320px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border)}@media(min-width:720px){.jobsMapCanvas{height:460px}}.locationPickerSearch gmp-place-autocomplete{width:100%}.field{margin-bottom:16px}.field label{display:block}.field .fieldLabelText{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:5px}.guideVoiceSelect{width:100%;font-family:inherit;font-size:15px;color:var(--text);min-height:var(--tap);padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.guideVoiceSelect:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px #e6007e40}.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:16px;color:var(--text);min-height:var(--tap);padding:11px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px #e6007e40}.field textarea{min-height:88px;resize:vertical}.field .hint{font-size:13px;color:var(--text-muted);margin-top:4px}.field .err{font-size:13px;color:var(--danger);margin-top:4px}.field.invalid input,.field.invalid select{border-color:var(--danger)}.fieldRow{display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:480px){.fieldRow{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.checkRow{display:flex;align-items:center;gap:9px;margin-bottom:14px;min-height:var(--tap)}.checkRow input{width:22px;height:22px;accent-color:var(--pink);flex:none}.checkRow label{margin:0;font-size:14px;color:var(--text);font-weight:500}.otpBoxes{display:flex;gap:6px;justify-content:space-between;margin-bottom:20px}@media(min-width:480px){.otpBoxes{gap:8px}}.otpBox{flex:1;height:52px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface);display:grid;place-items:center;font-size:22px;font-weight:700}@media(min-width:480px){.otpBox{height:56px;font-size:24px}}.otpBox.active{border-color:var(--pink)}.otpBox.filled{border-color:var(--ink);background:#fbfbff}.banner{border-radius:var(--radius-md);padding:12px 14px;margin-bottom:16px;font-size:14px;border-inline-start:4px solid}.banner.error{background:#fdecea;color:#8f2018;border-color:var(--danger)}.banner.ok{background:#e9f7ef;color:#10653a;border-color:var(--success)}.banner.warn{background:#fff6e3;color:#7a5200;border-color:var(--warning)}.banner.info{background:#eef2ff;color:#2a3a86;border-color:var(--ink)}.pageGuide{background:#eef2ff;color:#2a3a86;border-inline-start:4px solid var(--ink);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:16px;font-size:14px}.pageGuideFlash{animation:pageGuideFlash .5s ease-in-out 3}@keyframes pageGuideFlash{0%,to{background:#eef2ff}50%{background:#c7d2fe}}@media(prefers-reduced-motion:reduce){.pageGuideFlash{animation:none}}.pageGuideBody{line-height:1.5}.pageGuideSpeak{float:right;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:#2a3a8614;cursor:pointer;color:#2a3a86;font-size:14px;line-height:1;width:var(--tap);height:var(--tap);border-radius:50%;display:grid;place-items:center;margin:-8px -8px 6px 8px}.pageGuideSpeak:hover{background:#2a3a8629}.pageGuideSpeakBlink{animation:pageGuideSpeakBlink 1s ease-in-out 15}@keyframes pageGuideSpeakBlink{0%,to{background:#2a3a8614}50%{background:#6382ff8c}}@media(prefers-reduced-motion:reduce){.pageGuideSpeakBlink{animation:none}}.pageGuideFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.pageGuideCheck{display:flex;align-items:center;gap:6px;font-size:12px;color:#4a5599;cursor:pointer}.pageGuideClose{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;color:#4a5599;font-size:18px;line-height:1;flex:none;min-width:var(--tap);min-height:var(--tap);display:grid;place-items:center}.pageGuideClose:hover{color:#2a3a86}.badge{display:inline-block;padding:3px 11px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;background:#eceffa;color:var(--ink)}.badge.green{background:var(--success);color:#fff}.badge.warn{background:var(--warning);color:var(--ink)}.badge.red{background:var(--danger);color:#fff}.badge.grey{background:#e8eaf0;color:var(--text-muted)}.badge.pink{background:var(--pink);color:var(--on-dark)}.badge.navy{background:var(--ink);color:#fff}.badge.purple{background:var(--purple);color:#fff}.badgeRow{display:flex;gap:6px;flex-wrap:wrap}.chipRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{padding:7px 14px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface);font-size:13px;font-weight:600;color:var(--text);min-height:38px}.chip.active{background:var(--pink);border-color:var(--pink);color:var(--on-dark)}.chip:focus-visible{outline:none;box-shadow:0 0 0 3px #e6007e59}.crossSell{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;font-weight:600}.workerCardTop{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.workerCardName{margin:0}.workerCardRate{flex:none;white-space:nowrap}.rowHead{display:flex;align-items:center;gap:8px;margin-bottom:8px}.spreadRow{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.stampBadge{display:inline-flex;align-items:center;gap:6px;padding:3px 12px 3px 3px;border-radius:var(--radius-pill);background:#fff;border:1.5px solid var(--ink);font-weight:700;font-size:12px;color:var(--ink)}.stampBadge .stampIcon{width:20px;height:20px;border-radius:50%;flex:none;background:var(--pink);color:#fff;font-size:11px;display:grid;place-items:center;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--ink)}.mascotMoment{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;text-align:center}.mascotImg{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--ink);background:#fff}.mascotCaption{margin:0;color:var(--text-muted);font-size:14px;max-width:300px}.mood-shrug .mascotImg{animation:mascotShrug 2.4s ease-in-out infinite}.mood-flex .mascotImg{animation:mascotFlex .6s cubic-bezier(.34,1.56,.64,1)}.mood-wave .mascotImg{animation:mascotWave 1.6s ease-in-out infinite}@keyframes mascotShrug{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(-6deg) translateY(-2px)}75%{transform:rotate(6deg) translateY(-2px)}}@keyframes mascotFlex{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.15) rotate(-4deg)}70%{transform:scale(.96) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes mascotWave{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}@media(prefers-reduced-motion:reduce){.mood-shrug .mascotImg,.mood-flex .mascotImg,.mood-wave .mascotImg{animation:none}}.roleCard{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:start;padding:14px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface);margin-bottom:10px;cursor:pointer;font-family:inherit;min-height:var(--tap)}@media(min-width:480px){.roleCard{padding:15px;margin-bottom:12px}}.roleCard.selected{border-color:var(--pink);background:#fff5fa;box-shadow:var(--shadow-card)}.roleCard .icon{font-size:24px}.roleCard .title{font-weight:700;font-size:15px}.roleCard .desc{font-size:13px;color:var(--text-muted)}.tableWrap{overflow-x:auto;margin:0 -16px;padding:0 16px}@media(min-width:480px){.tableWrap{margin:0;padding:0}}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 12px;text-align:start;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:600;font-size:13px;white-space:nowrap}tbody tr:hover{background:#fef4f8}.adminShell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.adminTopbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;height:var(--topbar-h);background:linear-gradient(160deg,var(--plum) 0%,var(--pink-dark) 100%);color:var(--on-dark)}.adminBrand{font-weight:700;font-size:14px}.adminTopbar .btn.ghost{color:var(--on-dark);border:1px solid rgba(255,255,255,.5)}.adminNav{display:flex;gap:4px;overflow-x:auto;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--border);scrollbar-width:none}.adminNav::-webkit-scrollbar{display:none}.adminNav a{flex:none;padding:8px 14px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;color:var(--text-muted);text-decoration:none;white-space:nowrap}.adminNav a.active{background:var(--pink);color:#fff}@media(min-width:720px){.adminNav{padding:10px 20px}}.adminPage{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:16px}@media(min-width:720px){.adminPage{padding:24px 20px}}.adminFilters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.adminFilters .field{flex:1;min-width:160px;margin-bottom:0}.loadMore{display:flex;flex-direction:column;align-items:center;gap:10px;margin:16px 0}.loadMore p{margin:0}.docThumb{display:block;max-width:100%;max-height:220px;border-radius:var(--radius-md);border:1px solid var(--border)}.docThumbPlaceholder{display:flex;align-items:center;justify-content:center;height:120px;border-radius:var(--radius-md);background:#f5eef2;color:var(--text-muted);font-size:13px}.docRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}.docRow:first-child{padding-top:0}.docRow:last-child{padding-bottom:0}.checkRow{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:14px}.chatLayout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media(min-width:760px){.chatLayout{grid-template-columns:280px 1fr}}.threadItem{width:100%;text-align:start;font-family:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;margin-bottom:8px;min-height:var(--tap)}.threadItem.active{border-color:var(--pink);background:#fff5fa}.threadItem .name{font-weight:600;font-size:14px}.threadItem .preview{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatMessages{height:calc(100dvh - var(--topbar-h) - var(--bottomnav-h) - 220px);min-height:320px;overflow-y:auto;padding:14px;background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}@media(min-width:760px){.chatMessages{height:60vh}}.bubble{max-width:84%;padding:9px 13px;border-radius:var(--radius-md);font-size:14px;word-break:break-word}@media(min-width:480px){.bubble{max-width:74%}}.bubble.mine{align-self:flex-end;background:linear-gradient(135deg,var(--pink) 0%,var(--pink-dark) 100%);color:#fff}.bubble.theirs{align-self:flex-start;background:#f7ebf1}.bubble .time{display:block;font-size:11px;opacity:.7;margin-top:3px}.chatInput{display:flex;gap:8px;margin-top:10px}.chatInput input{flex:1;min-height:var(--tap);padding:11px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);font-family:inherit;font-size:16px}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1e80;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:50}@media(min-width:560px){.modalOverlay{align-items:center;padding:20px}}.modalCard{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:520px;max-height:88dvh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0)}@media(min-width:560px){.modalCard{border-radius:var(--radius-lg)}}.modalHead{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}.modalHead h3{margin:0;flex:1}.modalClose{border:none;background:transparent;font-size:22px;cursor:pointer;color:var(--text-muted);line-height:1;width:var(--tap);height:var(--tap);display:grid;place-items:center}.modalBody{padding:20px}.muted{color:var(--text-muted)}.small{font-size:13px}.center{text-align:center}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace}.empty{padding:40px 20px;text-align:center;color:var(--text-muted)}.spinner{padding:40px;text-align:center;color:var(--text-muted)}.stack>*+*{margin-top:12px}.money{font-variant-numeric:tabular-nums;font-weight:700}.money.lg{font-size:24px}.money.xl{font-size:32px}.money.pos{color:#0b7a44}.aiMascotFab{position:fixed;right:12px;bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + 12px);z-index:40;width:56px;height:56px;border-radius:50%;border:2px solid #fff;background:var(--surface);box-shadow:0 4px 16px #0b103340;padding:4px;cursor:pointer;display:grid;place-items:center}.aiMascotFab img{width:100%;height:100%;border-radius:50%;object-fit:cover}@media(min-width:720px){.aiMascotFab{bottom:20px}}.aiMascotPanel{position:fixed;inset-inline:0;bottom:0;top:15%;z-index:45;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -4px 24px #0b103340;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0)}@media(min-width:720px){.aiMascotPanel{inset-inline:auto;right:20px;top:auto;bottom:88px;width:360px;height:480px;border-radius:var(--radius-lg)}}.aiMascotHead{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.aiMascotHeadImg{width:28px;height:28px;border-radius:50%;object-fit:cover}.aiMascotClose{margin-inline-start:auto;border:none;background:transparent;font-size:22px;cursor:pointer;color:var(--text-muted);line-height:1;width:var(--tap);height:var(--tap);display:grid;place-items:center}.aiMascotBody{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.aiMascotBubble{max-width:85%;padding:8px 12px;border-radius:var(--radius-md);font-size:14px;white-space:pre-wrap}.aiMascotBubble.assistant{align-self:flex-start;background:var(--bg);border:1px solid var(--border)}.aiMascotBubble.user{align-self:flex-end;background:var(--pink);color:#fff}.aiMascotTyping{opacity:.6;font-style:italic}.aiMascotError{margin:0 12px 8px;color:var(--danger);font-size:13px}.aiMascotInputRow{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.aiMascotInputRow input{flex:1;min-width:0;height:var(--tap);border:1px solid var(--border);border-radius:var(--radius-pill);padding:0 14px;font-size:15px}.money.neg{color:var(--danger)}.calWrap{width:100%;max-width:760px;margin:0 auto}.calNav{display:flex;align-items:center;gap:8px;margin-bottom:8px}.calNav h2{flex:1;margin:0;text-align:center;font-size:18px}.calNav .btn{min-width:var(--tap);min-height:var(--tap);padding:0 12px;font-size:22px;line-height:1}.calNav .btn.sm{font-size:14px}.calGrid{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:8px}.calRow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calRow+.calRow{margin-top:4px}.calHead>div{padding:6px 0;text-align:center;font-size:13px;font-weight:600;color:var(--text-muted)}.calDay{width:100%;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px 0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text);font:inherit;cursor:pointer}.calDay:hover{background:#fdf0f6}.calDay:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.calDay.hasJobs{background:#fff0f7}.calDay.hasJobs.allFull{background:#eaf7ef}.calDay.today{box-shadow:inset 0 0 0 2px var(--ink)}.calDay.selected{background:var(--plum);color:#fff}.calNum{font-size:15px;font-weight:500}.calDay.today .calNum{font-weight:700}.calBadges{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.calCount{min-width:22px;padding:0 6px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;line-height:18px;color:#fff}.calCount.open{background:var(--pink-dark)}.calCount.full{background:#0b6b3a;border-radius:6px}.calDay.selected .calCount{background:#fff;color:var(--plum)}@media(max-width:639px){.calBadges{gap:1px}.calCount{min-width:16px;padding:0 4px;font-size:11px;line-height:16px}}.calLegend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:12px 0 4px;padding:0;list-style:none;font-size:13px;color:var(--text-muted)}.calLegend li{display:flex;align-items:center;gap:6px}.calDot{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:10px;font-weight:700;line-height:1;color:#fff}.calDot.open{background:var(--pink-dark)}.calDot.full{background:#0b6b3a;border-radius:4px}.calDot.today{border:2px solid var(--ink);background:transparent}.calGrid.compact{padding:6px}.calGrid.compact .calDay{min-height:48px}.calWrap.compact{margin-bottom:12px}.calWrap.compact .calNav{margin-bottom:4px}.calWrap.compact .calNav h2{font-size:16px}.calWrap.compact .calNav .btn{min-height:var(--tap)}.calWrap.compact [role=status]{margin:0 0 6px}.calWrap.compact .calLegend{margin:8px 0 4px}.calHubSummary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin-top:4px;font-size:14px}.calHubLinks{display:flex;flex-wrap:wrap;gap:6px}.calDayPanel{margin-top:16px}.calDayPanel h2{margin:0 0 12px;font-size:17px}.calGroup{display:flex;align-items:center;gap:6px;margin:16px 0 8px;font-size:15px}.calGroup.open{color:var(--pink-dark)}.calGroup.full{color:#0b6b3a}@media(min-width:640px){.calGrid{padding:12px}.calRow{gap:6px}.calDay{min-height:76px}.calNum{font-size:16px}}
