:root{--paper:#FFFFFF;--card:#FFFFFF;--line:#E8E8E8;--line2:#DCDCDC;--ink:#000000;--ink2:#333333;--muted:#666666;--fill:#F3F3F3;--fill-2:#E8E8E8;--action:#000000;--action-ink:#1F1F1F;--accent:#0E5C48;--accent-soft:#E4F1EC;--accent-ink:#0A4536;--danger:#AF3A28;--danger-soft:#FBEEEB;--warn:#8A6400;--warn-soft:#FBF1D9;--info:#1D5FB0;--info-soft:#E9F1FA;--shadow:none;--disp:"Inter","Noto Sans JP","Hiragino Sans",system-ui,sans-serif;--body:"Inter","Noto Sans JP","Hiragino Sans",system-ui,sans-serif;--num:"Inter","Noto Sans JP",system-ui,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--action)}a:hover{color:var(--action-ink)}.num{font-family:var(--num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum","tnum"}.disp{font-family:var(--disp);font-feature-settings:"palt";letter-spacing:-.022em;font-weight:700}.eyebrow{font-size:14px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;font-weight:500}.screen .phoneframe:has(>.backpill) .eyebrow{display:inline-block;max-width:calc(100% - 112px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:4px;border:1px solid transparent;font-size:12.5px;font-weight:600;line-height:1;white-space:nowrap}main{max-width:560px;margin:0 auto;padding:26px 20px 64px}main h1{font-family:var(--disp);font-size:28px;font-weight:700;line-height:1.25;margin:0 0 6px;letter-spacing:-.022em}main h2{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:28px 0 10px;font-weight:600}main .sub,main h2{color:var(--muted)}main .sub{margin:0 0 20px;font-size:14px;line-height:1.6}main .card{padding:16px 18px;margin-bottom:12px}main .row{display:flex;justify-content:space-between;align-items:center;gap:12px}main .muted{color:var(--muted);font-size:14px;line-height:1.6}main .pill{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:4px;border:1px solid transparent;background:var(--fill);color:var(--ink2);white-space:nowrap}main .pill.ok{color:var(--accent);border-color:#CFDED6;background:var(--accent-soft)}main .pill.warn{color:var(--warn);border-color:#E9D9A8;background:var(--warn-soft)}main .pill.bad{color:var(--danger);border-color:#EFCCC4;background:var(--danger-soft)}main button{font-family:var(--body);font-size:16px;letter-spacing:-.005em;line-height:1.6;background:var(--action);color:#fff;height:52px;padding:0 18px;cursor:pointer;width:100%;margin-bottom:9px}main button,main button.secondary{font-weight:600;border:0;border-radius:8px}main button.secondary{background:var(--fill);color:var(--ink);font-size:15px;height:48px}main button:disabled{opacity:.45;cursor:not-allowed}main input,main select{font-family:var(--body);font-size:15px;width:100%;height:48px;padding:0 14px;border-radius:8px;border:0;background:var(--fill);color:var(--ink)}main input::placeholder{color:var(--muted)}main input:focus,main select:focus{outline:none;box-shadow:inset 0 0 0 2px var(--action)}main label{display:block;font-size:14px;font-weight:500;color:var(--ink2);margin:16px 0 6px}main .banner{border-radius:8px;padding:12px 14px;margin-bottom:14px;font-size:13px;line-height:1.65}main .banner.bad{background:var(--danger-soft);border:1px solid #efccc4;color:var(--danger)}main .banner.warn{background:var(--warn-soft);border:1px solid #e9d9a8;color:#6E5200}main .banner.ok{background:var(--accent-soft);border:1px solid #cfded6;color:var(--accent)}main .kv{display:grid;grid-template-columns:1fr auto;grid-gap:8px 12px;gap:8px 12px;font-size:13.5px;margin:0}main .kv dt{color:var(--muted)}main .kv dd{margin:0;text-align:right;font-family:var(--num);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}main table{border-collapse:collapse;width:100%;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}main th{font-size:12.5px;color:var(--muted);text-align:left;padding:10px 14px;background:#F2F2F2;font-weight:600}main td,main th{border-bottom:1px solid var(--line)}main td{padding:12px 14px;font-size:13.5px}.screen button:disabled,main button:disabled{opacity:.42!important;cursor:not-allowed!important}.screen .navrow>div{height:36px}.screen.admin .navrow>div{height:32px}@media (pointer:coarse){.screen .navrow>div{height:auto!important;min-height:44px!important}.screen .navrow span{font-size:14px!important}}@media (max-width:460px){.screen{padding:0!important}.screen .phoneframe{width:100%}.screen .phoneframe [data-phone-screen]{width:100%!important;height:100dvh!important}.screen .phoneframe [data-phone-screen]>[data-sheet]{max-height:calc(100dvh - 312px);overflow-y:auto}}@media (max-width:860px){.screen{flex-direction:column!important}.screen .adminbar{width:100%!important;flex:none!important;border-right:0!important;border-bottom:1px solid var(--line);padding:14px 0 0!important}.screen .adminbar>div:first-child{padding:0 16px 12px!important}.screen .adminnav{flex-direction:row!important;gap:6px!important;overflow-x:auto;padding:0 16px 12px;scrollbar-width:none}.screen .adminnav::-webkit-scrollbar{display:none}.screen .adminnav .navrow>div{white-space:nowrap;padding:0 14px!important}.screen .adminbody{width:100%;min-width:0}.screen .adminstats{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:16px 16px 0!important}.screen .adminbody>div{padding-left:16px!important;padding-right:16px!important}.screen .hrpeople{grid-template-columns:1fr!important}.screen .hrcounts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.screen .adminbody .card{overflow-x:auto!important}.screen .adminrow{min-width:max-content}.screen .adminbar>div:last-child{padding:8px 16px 10px!important}}@media (pointer:coarse){.screen .adminhead span,.screen .adminstats .card>div:first-child{font-size:14px!important}}.screen .adminrow{transition:background-color .14s cubic-bezier(.16,1,.3,1)}.screen .adminbody .card .adminrow:hover{background:var(--paper)}.screen .navrow>div{transition:background-color .14s cubic-bezier(.16,1,.3,1)}.screen .navrow:hover>div{background:var(--fill)!important}.screen .navrow:focus-visible{outline:none}.screen .navrow:focus-visible>div{background:var(--fill)!important;box-shadow:0 0 0 2px var(--action)}.screen .adminsearch{transition:border-color .16s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1)}.screen .adminsearch:hover{background:var(--fill-2)}.screen .adminsearch:focus-within{border-color:var(--action)!important;box-shadow:0 0 0 3px var(--fill-2)!important}.screen .adminsearch input:focus{outline:none}.screen button{line-height:1.6}.screen button:not(:disabled){transition:filter .14s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.screen button:not(:disabled):hover{filter:brightness(.94)}.screen button:not(:disabled):focus-visible{outline:none;box-shadow:0 0 0 2px var(--action),0 0 0 5px var(--fill-2)!important}.screen button:not(:disabled):active{transform:scale(.98)}.screen input:not(.adminsearch input):focus,.screen select:focus{outline:none;border-color:var(--action)!important;box-shadow:0 0 0 3px var(--fill-2)!important}@media (prefers-reduced-motion:reduce){.screen .adminrow,.screen .adminsearch,.screen .navrow>div,.screen button{transition:none}.screen button:not(:disabled):active{transform:none}}.screen.admin{--paper:#F2F3F3;--line:#E6E8E7;--line2:#D6DAD8;--fill:#F0F2F1;--fill-2:#E3E6E5;--bar:#111413;--r:12px;--shadow:0 1px 2px rgba(17,20,19,.05),0 12px 28px -20px rgba(17,20,19,.28);--lift:0 2px 4px rgba(17,20,19,.06),0 18px 40px -20px rgba(17,20,19,.34);--ring:0 0 0 4px rgba(14,92,72,.18)}.screen.admin .adminbar{color:#FFFFFF;--card:#111413;--paper:#111413;--ink:#FFFFFF;--ink2:rgba(255,255,255,.74);--muted:rgba(255,255,255,.48);--fill:rgba(255,255,255,.10);--fill-2:rgba(255,255,255,.16);--line:rgba(255,255,255,.10);--action:#FFFFFF;--action-ink:#FFFFFF}.screen.admin .navitem{transition:background .16s ease,color .16s ease}.screen.admin .navitem:hover{background:rgba(255,255,255,.07)}.screen.admin .card{border-radius:16px;box-shadow:var(--shadow)}.screen.admin .badge{border-radius:6px;height:24px;padding:0 9px}.screen.admin .adminrow{transition:background .12s ease}.screen.admin .adminrow:hover{background:var(--fill)}.screen.admin [role=button]{transition:color .12s ease,opacity .12s ease;border-radius:6px}.screen.admin [role=button]:hover{text-decoration:underline;text-underline-offset:3px}.screen.admin [role=button]:focus-visible{outline:none;box-shadow:var(--ring)}.screen.admin [role=button]:active{opacity:.7}.screen.admin .adminrow[role=button]:hover{text-decoration:none}.screen.admin button:not(:disabled):hover{filter:none;box-shadow:var(--lift);transform:translateY(-1px)}.screen.admin button:not(:disabled):active{transform:translateY(0) scale(.98);box-shadow:none}.screen.admin button:not(:disabled):focus-visible{box-shadow:var(--ring)!important}.screen.admin input:not(.adminsearch input):focus,.screen.admin select:focus{border-color:var(--accent)!important;box-shadow:var(--ring)!important}.screen.admin .adminsearch:focus-within{border-color:var(--accent)!important;box-shadow:var(--ring)!important}.screen.admin .adminbody>*{animation:admin-rise .42s cubic-bezier(.2,.7,.2,1) both}.screen.admin .adminbody>:nth-child(2){animation-delay:.05s}.screen.admin .adminbody>:nth-child(3){animation-delay:.1s}@keyframes admin-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (min-width:861px){.screen.admin .mapgrid{flex:none!important;height:calc(100dvh - 244px);min-height:420px}}@media (max-width:860px){.screen.admin .adminbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;border-bottom:0;background:rgba(17,20,19,.88)!important;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}.screen.admin .adminbar>div:last-child,.screen.admin .adminbar>div:nth-last-child(2),.screen.admin .adminnav .navgroup,.screen.admin .live{display:none}.screen.admin .adminbar>div:first-child{padding:0 16px 10px!important}.screen.admin .adminnav .navrow>div{height:36px!important}.screen.admin .mapgrid{grid-template-columns:1fr!important;grid-template-rows:auto auto!important;overflow-x:hidden!important}.screen.admin .mapgrid .mapslot{height:280px}.screen.admin .mapgrid .railslot{border-left:0!important;border-top:1px solid var(--line)}.screen.admin .mapgrid .rail{position:static!important;overflow-y:visible!important}}@media (prefers-reduced-motion:reduce){.screen.admin .adminbody>*{animation:none}.screen.admin button:not(:disabled):hover{transform:none}}.screen .glow{box-shadow:0 0 0 3px var(--accent-soft),0 0 0 4px var(--accent);animation:glow-pulse 1.6s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 0 3px var(--accent-soft),0 0 0 4px var(--accent)}50%{box-shadow:0 0 0 5px var(--accent-soft),0 0 0 6px var(--accent),0 0 18px rgba(14,92,72,.35)}}@media (prefers-reduced-motion:reduce){.screen .glow{animation:none}}