:root{color-scheme:light;--bg: #f3f4f6;--surface: #ffffff;--surface-2: #f7f8fa;--surface-3: #eef0f3;--line: #e3e6ea;--line-strong: #c9cfd6;--ink: #1f2428;--ink-2: #5b6470;--ink-3: #8d96a1;--on-color: #ffffff;--teal: #1fa88e;--teal-d: #168a74;--teal-t: #e2f5ef;--teal-t2: #bfe9dd;--orange: #f47a20;--orange-d: #d3640f;--orange-t: #feeddf;--orange-t2: #fbd4b3;--blue: #2e6fe0;--blue-d: #2257b6;--blue-t: #e4ecfb;--blue-t2: #c3d5f6;--green: #2e9e4f;--green-t: #e1f3e6;--amber: #d99a00;--amber-t: #fff3d1;--red: #dc4a3a;--red-t: #fce6e3;--shadow-1: 0 1px 2px rgba(31, 36, 40, .05), 0 2px 8px rgba(31, 36, 40, .05);--shadow-2: 0 4px 16px rgba(31, 36, 40, .1), 0 1px 3px rgba(31, 36, 40, .06);--shadow-sheet: 0 -8px 32px rgba(31, 36, 40, .16);--radius: 18px;--radius-sm: 12px;--radius-xs: 8px;--pill: 999px;--font-display: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;--font-body: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--tabbar-h: 64px;--safe-b: max(env(safe-area-inset-bottom, 0px), 10px);--header-h: 56px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #14171a;--surface: #1d2126;--surface-2: #232830;--surface-3: #2a3038;--line: #2e343c;--line-strong: #3f4751;--ink: #f1f3f5;--ink-2: #aab3bd;--ink-3: #7b8591;--on-color: #ffffff;--teal: #2dbb9f;--teal-d: #24a58b;--teal-t: #16332d;--teal-t2: #1f4a41;--orange: #f58c3d;--orange-d: #e07a2b;--orange-t: #3a2716;--orange-t2: #57381d;--blue: #5b8deb;--blue-d: #4a7bd6;--blue-t: #1b2a45;--blue-t2: #263c63;--green: #47b366;--green-t: #183424;--amber: #e8b23a;--amber-t: #3a3014;--red: #e8685a;--red-t: #3c1f1b;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .25);--shadow-2: 0 4px 16px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-sheet: 0 -8px 32px rgba(0, 0, 0, .5)}}:root[data-theme=dark]{color-scheme:dark;--bg: #14171a;--surface: #1d2126;--surface-2: #232830;--surface-3: #2a3038;--line: #2e343c;--line-strong: #3f4751;--ink: #f1f3f5;--ink-2: #aab3bd;--ink-3: #7b8591;--on-color: #ffffff;--teal: #2dbb9f;--teal-d: #24a58b;--teal-t: #16332d;--teal-t2: #1f4a41;--orange: #f58c3d;--orange-d: #e07a2b;--orange-t: #3a2716;--orange-t2: #57381d;--blue: #5b8deb;--blue-d: #4a7bd6;--blue-t: #1b2a45;--blue-t2: #263c63;--green: #47b366;--green-t: #183424;--amber: #e8b23a;--amber-t: #3a3014;--red: #e8685a;--red-t: #3c1f1b;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .25);--shadow-2: 0 4px 16px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-sheet: 0 -8px 32px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}@supports (height: 100dvh){html,body{height:100dvh}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{height:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue-t2);outline-offset:2px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,.display{font-family:var(--font-display);font-weight:800;text-wrap:balance;letter-spacing:.01em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:12.5px}.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.app{height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;position:relative;background:var(--bg)}.app-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:8px;padding-inline:18px;background:var(--bg);flex:none}.brand{display:flex;align-items:center;gap:8px;min-width:0}.brand{gap:10px}.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--teal);color:var(--on-color);display:grid;place-items:center;flex:none}.brand-mark svg{width:25px;height:25px}.brand-text{height:40px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.brand h1{font-size:17px;line-height:21px;white-space:nowrap}.brand .sub{font-size:11.5px;line-height:15px;color:var(--ink-3);font-weight:700;letter-spacing:.02em}.screen{flex:1;min-height:0;overflow-y:auto;padding:6px 18px calc(var(--tabbar-h) + var(--safe-b) + 28px);display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.screen>*{flex:none}.tabbar{position:absolute;left:0;right:0;bottom:0;z-index:25;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--surface);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,64px)) 72px repeat(2,minmax(0,64px));justify-content:center;column-gap:6px;align-items:stretch}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-3);font-size:10.5px;font-weight:700;letter-spacing:.02em;position:relative}.tab[aria-current=page]{color:var(--teal)}.tab svg{width:24px;height:24px}.tab .badge{position:absolute;top:8px;left:calc(50% + 6px);min-width:17px;height:17px;padding-inline:5px;border-radius:9px;background:var(--orange);color:var(--on-color);font-size:10.5px;font-weight:800;display:grid;place-items:center;font-family:var(--font-display)}.fab-slot{display:grid;place-items:center}.fab{width:50px;height:50px;border-radius:50%;background:var(--teal);color:var(--on-color);display:grid;place-items:center;transition:transform .12s ease,filter .12s ease}.fab:active{transform:scale(.94);filter:brightness(.95)}.fab svg{width:24px;height:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-display);font-weight:800;font-size:15px;border-radius:var(--pill);padding:0 18px;height:44px;transition:transform .1s ease,filter .1s ease,background .15s ease;white-space:nowrap}.btn:active{transform:translateY(1px);filter:brightness(.97)}.btn:disabled{opacity:.5;pointer-events:none}.btn svg{width:18px;height:18px}.btn--primary{background:var(--teal);color:var(--on-color)}.btn--orange{background:var(--orange);color:var(--on-color)}.btn--blue{background:var(--blue);color:var(--on-color)}.btn--secondary{background:var(--surface-3);color:var(--ink)}.btn--outline{background:var(--surface);color:var(--teal);border:2px solid var(--teal)}.btn--ghost{background:transparent;color:var(--ink-2)}.btn--danger{background:var(--red-t);color:var(--red)}.btn--sm{height:34px;font-size:13px;padding:0 14px}.btn--xs{height:28px;font-size:12px;padding:0 10px;gap:4px}.btn--xs svg{width:14px;height:14px}.btn--block{width:100%}.btn--lg{height:52px;font-size:16.5px}.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);background:var(--surface)}.icon-btn:active{transform:scale(.96)}.icon-btn svg{width:20px;height:20px}.icon-btn--flat{background:transparent;box-shadow:none}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:18px}.card--tight{padding:14px 16px}.card--flat{box-shadow:none;border:1px solid var(--line)}.card--teal{border:2px solid var(--teal);box-shadow:none}.card--orange{border:2px solid var(--orange);box-shadow:none}.card--blue{border:2px solid var(--blue);box-shadow:none}.card--amber{border:2px solid var(--amber);box-shadow:none}.card--green{border:2px solid var(--green);box-shadow:none}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-inline:2px}.section-head h2{font-size:15.5px}.section-head .link{font-size:13px;font-weight:700;color:var(--teal)}.stack{display:flex;flex-direction:column;gap:12px}.stack--sm{gap:8px}.row{display:flex;align-items:center;gap:10px}.row--between{justify-content:space-between}.wrap{display:flex;flex-wrap:wrap;gap:8px}.divider{height:1px;background:var(--line);margin-block:4px}.spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--pill);font-family:var(--font-display);font-weight:800;font-size:11.5px;letter-spacing:.02em;white-space:nowrap}.pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.st-applied{background:var(--purple-t);color:var(--purple-d)}.st-confirmed{background:var(--teal);color:var(--on-color)}.st-worked{background:var(--surface-3);color:var(--ink-2)}.st-paid{background:var(--red-t);color:var(--red)}.st-cancelled{background:var(--surface-3);color:var(--ink-3);text-decoration:line-through}.chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:var(--pill);background:var(--surface-3);color:var(--ink-2);font-size:12px;font-weight:700;white-space:nowrap;flex:none}.chip--teal{background:var(--teal-t);color:var(--teal-d)}.chip--orange{background:var(--orange-t);color:var(--orange-d)}.chip--blue{background:var(--blue-t);color:var(--blue-d)}.chip--amber{background:var(--amber-t);color:var(--amber)}.chip--red{background:var(--red-t);color:var(--red)}.chip--green{background:var(--green-t);color:var(--green)}.chip svg{width:13px;height:13px}.kind-spot{color:var(--spot)}.kind-regular{color:var(--teal-d)}.seg{display:flex;background:var(--surface-3);border-radius:var(--pill);padding:3px;gap:2px}.seg button{flex:1;height:32px;border-radius:var(--pill);font-size:13px;font-weight:700;color:var(--ink-2);transition:background .15s ease,color .15s ease}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink)}.month-nav{display:flex;align-items:center;gap:4px}.month-nav h2{font-size:20px;min-width:110px;text-align:center;letter-spacing:.02em}.month-nav .yr{font-size:12px;color:var(--ink-3);font-weight:700;display:block;line-height:1;margin-bottom:2px}.month-nav .icon-btn{width:36px;height:36px}.cal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:10px 8px 8px;touch-action:pan-y;overflow:hidden;user-select:none}.cal-grid.slide-left{animation:cal-left .22s cubic-bezier(.2,.8,.2,1)}.cal-grid.slide-right{animation:cal-right .22s cubic-bezier(.2,.8,.2,1)}@keyframes cal-left{0%{transform:translate(28px);opacity:.3}to{transform:none;opacity:1}}@keyframes cal-right{0%{transform:translate(-28px);opacity:.3}to{transform:none;opacity:1}}.cal-head{display:grid;grid-template-columns:repeat(7,1fr);font-size:11px;font-weight:700;color:var(--ink-3);text-align:center;letter-spacing:.04em;margin-bottom:4px}.cal-head .sun{color:var(--red)}.cal-head .sat{color:var(--blue)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-cell{min-height:58px;border-radius:10px;padding:4px 2px 3px;display:flex;flex-direction:column;align-items:stretch;gap:2px;transition:background .12s ease;position:relative}.cal-cell:active{background:var(--surface-3)}.cal-cell.is-other{opacity:.32}.cal-cell.is-selected{background:var(--teal-t)}.cal-cell .d{font-family:var(--font-display);font-weight:700;font-size:13px;line-height:20px;height:20px;width:22px;margin:0 auto;border-radius:50%;text-align:center}.cal-cell.is-today .d{background:var(--teal);color:var(--on-color);font-weight:800}.cal-cell .d.sun{color:var(--red)}.cal-cell .d.sat{color:var(--blue)}.cal-cell.is-today .d.sun,.cal-cell.is-today .d.sat{color:var(--on-color)}.cal-cell.is-holiday .d{color:var(--red)}.cal-cell .bar{height:15px;border-radius:4px;font-size:9.5px;line-height:15px;font-weight:800;font-family:var(--font-display);padding-inline:3px;overflow:hidden;white-space:nowrap;text-overflow:clip}.bar--applied{background:var(--purple-t);color:var(--purple-d);border:1px dashed var(--purple);line-height:13px}.bar--confirmed{background:var(--teal);color:var(--on-color)}.bar--worked{background:var(--surface-3);color:var(--ink-2)}.bar--paid{background:var(--red-t);color:var(--red)}.bar--cancelled{background:var(--surface-3);color:var(--ink-3);text-decoration:line-through}.cal-cell .more{font-size:9.5px;color:var(--ink-3);font-weight:700;text-align:center;line-height:1.1}.cal-legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:11.5px;color:var(--ink-2);padding:8px 6px 0}.cal-legend span{display:inline-flex;align-items:center;gap:5px}.cal-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.month-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.month-summary .tile{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);padding:10px 12px}.month-summary .label{font-size:11px;color:var(--ink-3);font-weight:700}.month-summary .value{font-family:var(--font-display);font-weight:800;font-size:20px;line-height:1.15}.month-summary .value small{font-size:12px;color:var(--ink-2);font-weight:700;margin-left:2px}.day-title{display:flex;align-items:baseline;gap:8px}.day-title h2{font-size:16px}.shift{display:grid;grid-template-columns:4px 60px 1fr auto;gap:0 12px;align-items:center;background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);padding:12px 14px 12px 12px;min-height:66px;text-align:left;width:100%;transition:transform .1s ease}.shift:active{transform:scale(.99)}.shift .stripe{width:4px;height:100%;border-radius:2px;background:var(--teal);align-self:stretch}.shift.is-spot .stripe{background:var(--spot)}.shift.is-regular .stripe{background:var(--teal)}.shift.is-applied .stripe{background:repeating-linear-gradient(180deg,var(--purple) 0 6px,transparent 6px 10px)}.shift.is-cancelled{opacity:.55}.shift .time{font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--ink-2);line-height:1.25}.shift .time b{display:block;font-size:14.5px;color:var(--ink)}.shift .main{min-width:0}.shift .title{display:block;font-weight:700;font-size:15px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift .meta{font-size:12px;color:var(--ink-3);margin-top:2px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.shift .amt{font-family:var(--font-display);font-weight:800;font-size:16px;text-align:right;white-space:nowrap}.shift .amt small{display:block;font-size:10.5px;color:var(--ink-3);font-weight:700;margin-top:3px}.shift .amt small .pill{height:19px;font-size:10px;padding:0 7px}.shift-date{font-family:var(--font-display);font-weight:800;font-size:12.5px;color:var(--ink-2);line-height:1.2}.shift-date b{display:block;font-size:17px;color:var(--ink)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--ink-2);padding:28px 16px;font-size:14px;font-weight:700}.empty .ill{width:64px;height:64px;padding:16px;margin-bottom:8px;box-sizing:border-box;border-radius:50%;background:var(--teal-t);color:var(--teal);flex:none}.empty .small{font-weight:400;max-width:260px;line-height:1.6}.ic--teal{background:var(--teal-t);color:var(--teal-d)}.ic--orange{background:var(--orange-t);color:var(--orange-d)}.ic--blue{background:var(--blue-t);color:var(--blue-d)}.ic--grey{background:var(--surface-3);color:var(--ink-2)}.ic--red{background:var(--red-t);color:var(--red)}.choice--promo{margin-top:12px;width:100%;border-style:dashed}.choice--promo .t{flex:1}.choice--promo .chev{width:18px;height:18px;color:var(--ink-3);flex:none}.chooser{display:flex;flex-direction:column;gap:10px;padding-bottom:6px}.choice{display:flex;align-items:center;gap:14px;text-align:left;padding:14px;border-radius:var(--radius);background:var(--surface-2);border:2px solid transparent;transition:transform .1s ease,border-color .1s ease}.choice:active{transform:scale(.985);border-color:var(--teal)}.choice .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:none}.choice .ic svg{width:24px;height:24px}.choice .t{min-width:0}.choice .t b{display:block;font-family:var(--font-display);font-weight:800;font-size:16px}.choice .t span{font-size:12.5px;color:var(--ink-3);line-height:1.4}.inbox-item{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:14px;display:flex;flex-direction:column;gap:10px}.inbox-item .src{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);font-weight:700}.inbox-item .src .ago{margin-left:auto;font-weight:500;white-space:nowrap;flex:none}.src-ic{width:22px;height:22px;border-radius:6px;display:grid;place-items:center}.src-ic svg{width:13px;height:13px}.src-gmail{background:var(--red-t);color:var(--red)}.src-line{background:var(--green-t);color:var(--green)}.src-ikkatsu{background:var(--orange-t);color:var(--orange-d)}.src-shot{background:var(--blue-t);color:var(--blue-d)}.src-manual{background:var(--surface-3);color:var(--ink-2)}.inbox-item .headline{display:flex;gap:12px;align-items:center}.inbox-item .headline .date{flex:none;width:52px;text-align:center;background:var(--surface-2);border-radius:10px;padding:6px 4px;font-family:var(--font-display);font-weight:800;line-height:1.1}.inbox-item .headline .date small{display:block;font-size:10.5px;color:var(--ink-3);font-weight:700}.inbox-item .headline .date b{font-size:20px}.inbox-item .headline .h{min-width:0}.inbox-item .headline .h b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-item .headline .h span{font-size:12.5px;color:var(--ink-2)}.inbox-item .actions{display:flex;gap:8px}.inbox-item .actions .btn{flex:1}.inbox-item .note{font-size:12px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-xs);padding:8px 10px;display:flex;gap:6px;align-items:flex-start}.inbox-item .note svg{width:14px;height:14px;flex:none;margin-top:2px}.inbox-item .note.warn{background:var(--amber-t);color:var(--ink)}.inbox-item .note.link{background:var(--teal-t);color:var(--teal-d)}.classify{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3)}.classify .conf{font-family:var(--font-display);font-weight:800;color:var(--ink-2)}.classify i{width:36px;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden;position:relative}.classify i:after{content:"";position:absolute;inset:0;width:var(--w);background:var(--teal)}.sheet-backdrop{position:absolute;inset:0;z-index:40;background:#14181c6b;animation:fade .18s ease}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:41;background:var(--surface);border-radius:22px 22px 0 0;box-shadow:var(--shadow-sheet);max-height:92%;display:flex;flex-direction:column;padding-bottom:var(--safe-b);animation:slide-up .24s cubic-bezier(.2,.8,.2,1)}.sheet-handle{width:40px;height:5px;border-radius:3px;background:var(--line-strong);margin:8px auto 0;flex:none}.sheet-head{display:flex;align-items:center;gap:10px;padding:10px 16px 8px;flex:none}.sheet-head h2{font-size:18px;flex:1}.sheet-body{overflow-y:auto;padding:4px 16px 16px;display:flex;flex-direction:column;gap:14px}.sheet-foot{flex:none;padding:10px 16px 12px;display:flex;gap:10px;border-top:1px solid var(--line);background:var(--surface)}.sheet-foot .btn{flex:1}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal-backdrop{position:absolute;inset:0;z-index:40;background:#14181c6b;display:grid;place-items:center;padding:24px 16px;animation:fade .18s ease}.modal{width:100%;max-width:360px;max-height:100%;display:flex;flex-direction:column;background:var(--surface);border-radius:22px;box-shadow:var(--shadow-2);animation:pop-in .2s cubic-bezier(.2,.8,.2,1)}.modal-head{display:flex;align-items:center;gap:8px;padding:14px 8px 6px 18px;flex:none}.modal-head h2{font-size:18px;flex:1}.modal-body{overflow-y:auto;padding:4px 14px 14px;display:flex;flex-direction:column;gap:10px}.modal-body .shift{box-shadow:none;background:var(--surface-2)}.modal-body .empty{padding:14px 8px 18px}.modal-foot{flex:none;padding:8px 14px 14px}@keyframes pop-in{0%{transform:scale(.94) translateY(8px);opacity:0}to{transform:none;opacity:1}}.acc-head{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:4px 2px}.acc-head h2{font-size:15.5px;flex:1}.acc-head svg{width:20px;height:20px}.acc-chev{width:20px;height:20px;color:var(--ink-3);transition:transform .2s ease}.acc-chev.is-open{transform:rotate(180deg)}.acc-body{padding-top:6px;border-top:1px solid var(--line);margin-top:8px}button.payer{width:100%;text-align:left}.seg--mini{flex:none;padding:2px}.seg--mini button{height:28px;font-size:12px;padding-inline:10px;flex:none}.float-btn{position:absolute;right:16px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);z-index:24;display:inline-flex;align-items:center;gap:6px;height:46px;padding:0 16px 0 14px;border-radius:var(--pill);background:var(--teal);color:var(--on-color);font-family:var(--font-display);font-weight:800;font-size:14px}.float-btn:active{transform:scale(.97)}.float-btn svg{width:20px;height:20px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;font-weight:700;color:var(--ink-2);display:flex;align-items:center;gap:6px}.field input,.field select,.field textarea{height:44px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--surface);padding:0 12px;font-size:16px;width:100%}.field textarea{height:auto;min-height:140px;padding:10px 12px;line-height:1.5;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-t)}.field.is-warn input,.field.is-warn select{border-color:var(--amber);background:var(--amber-t)}.field.is-warn label:after{content:"要確認";font-size:10px;background:var(--amber);color:var(--on-color);border-radius:4px;padding:1px 5px;font-weight:800}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-grid .span2{grid-column:span 2}.field .hint{font-size:11.5px;color:var(--ink-3)}.check{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px}.check input{width:22px;height:22px;accent-color:var(--teal);flex:none}.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.radio-card{border:2px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:2px}.radio-card b{font-family:var(--font-display);font-weight:800;font-size:14px}.radio-card span{font-size:11.5px;color:var(--ink-3)}.radio-card[aria-pressed=true]{border-color:var(--teal);background:var(--teal-t)}.radio-card[aria-pressed=true].is-orange{border-color:var(--orange);background:var(--orange-t)}.radio-card[aria-pressed=true].is-blue{border-color:var(--blue);background:var(--blue-t)}.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.stepper button{height:56px;border-radius:var(--radius-sm);background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;font-weight:700;color:var(--ink-3);border:2px solid transparent}.stepper button svg{width:18px;height:18px}.stepper button[aria-pressed=true]{background:var(--teal-t);color:var(--teal-d);border-color:var(--teal)}.stepper button.is-done{color:var(--teal-d)}.hero{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:16px}.hero .label{font-size:12px;font-weight:700;color:var(--ink-2)}.hero .value{font-family:var(--font-display);font-weight:800;font-size:40px;line-height:1.05;letter-spacing:-.01em;margin-top:2px}.hero .value small{font-size:18px;margin-left:2px}.hero .delta{font-size:12.5px;color:var(--ink-2);margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);padding:10px 12px}.stat .label{font-size:11px;font-weight:700;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .value{font-family:var(--font-display);font-weight:800;font-size:19px;line-height:1.2;white-space:nowrap}.stat .value small{font-size:11.5px;color:var(--ink-2);font-weight:700}.stat-row--compact{gap:6px}.stat-row--compact .stat{padding:8px 9px;box-shadow:none}.stat-row--compact .label{font-size:10.5px;letter-spacing:-.01em}.stat-row--compact .value{font-size:15.5px}.hero .value,.section-head h2{white-space:nowrap}.section-head>.small{white-space:nowrap}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);border-radius:8px;padding:6px 9px;font-size:12px;line-height:1.3;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px));box-shadow:var(--shadow-2)}.chart .tip b{font-family:var(--font-display);font-size:14px;display:block}.payer{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}.payer:last-child{border-bottom:0}.payer .name{font-weight:700;font-size:14px;grid-column:1}.payer .amt{grid-column:2}.payer .sub{font-size:12px;color:var(--ink-3);grid-column:1}.payer .amt{font-family:var(--font-display);font-weight:800;font-size:16px;text-align:right;grid-row:1 / span 2;align-self:center}.payer .track{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;margin-top:4px}.payer .track i{display:block;height:100%;background:var(--teal);border-radius:3px}.match{display:grid;grid-template-columns:28px 1fr auto;gap:2px 10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.match:last-child{border-bottom:0}.match .ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;grid-row:1 / span 2;grid-column:1}.match .name{grid-column:2}.match .nums{grid-column:3}.match .ic svg{width:16px;height:16px}.ic--ok{background:var(--green-t);color:var(--green)}.ic--diff{background:var(--amber-t);color:var(--amber)}.ic--missing{background:var(--red-t);color:var(--red)}.ic--extra{background:var(--blue-t);color:var(--blue-d)}.match .name{font-weight:700;font-size:14px}.match .sub{font-size:12px;color:var(--ink-3);grid-column:2}.match .nums{text-align:right;font-family:var(--font-display);font-weight:800;font-size:14.5px;grid-row:1 / span 2;line-height:1.25}.match .nums small{display:block;font-size:11px;color:var(--ink-3);font-weight:700;font-family:var(--font-body)}.match .nums.is-diff{color:var(--amber)}.progress{height:10px;border-radius:5px;background:var(--surface-3);overflow:hidden;display:flex}.progress i{display:block;height:100%}.progress .ok{background:var(--green)}.progress .diff{background:var(--amber)}.progress .missing{background:var(--red)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ink-2)}.legend span{display:inline-flex;gap:5px;align-items:center}.legend i{width:10px;height:10px;border-radius:50%}.slip{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.slip:last-child{border-bottom:0}.slip .thumb{width:44px;height:56px;border-radius:6px;background:var(--surface-3);border:1px solid var(--line);position:relative;overflow:hidden}.slip .thumb:before{content:"";position:absolute;left:6px;right:6px;top:8px;height:3px;background:var(--line-strong);border-radius:2px;box-shadow:0 8px 0 var(--line),0 16px 0 var(--line),0 24px 0 var(--line),0 32px 0 var(--line)}.slip b{font-size:14px;display:block}.slip span{font-size:12px;color:var(--ink-3)}.slip .amt{text-align:right;font-family:var(--font-display);font-weight:800;font-size:15px}.slip .amt small{display:block;font-size:11px;color:var(--ink-3);font-weight:700;font-family:var(--font-body)}.csv-preview{background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:11.5px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto;white-space:pre;color:var(--ink-2)}.setting-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);text-align:left;width:100%}.setting-row:last-child{border-bottom:0}.setting-row .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}.setting-row .ic svg{width:19px;height:19px}.setting-row .t{flex:1;min-width:0}.setting-row .t b{display:block;font-size:14.5px}.setting-row .t span{font-size:12px;color:var(--ink-3)}.setting-row .chev{color:var(--ink-3);width:18px;height:18px;flex:none}.code-box{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1.5px dashed var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;word-break:break-all;user-select:all}.code-box .btn{flex:none}.steps{display:flex;flex-direction:column;gap:12px}.step{display:grid;grid-template-columns:28px 1fr;gap:10px}.step .n{width:28px;height:28px;border-radius:50%;background:var(--teal);color:var(--on-color);font-family:var(--font-display);font-weight:800;display:grid;place-items:center;font-size:13px}.step b{display:block;font-size:14px}.step p{font-size:12.5px;color:var(--ink-2);margin-top:2px}.switch{position:relative;width:46px;height:28px;border-radius:14px;background:var(--line-strong);flex:none;transition:background .15s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s ease;box-shadow:0 1px 2px #0003}.switch[aria-checked=true]{background:var(--teal)}.switch[aria-checked=true]:after{transform:translate(18px)}.toast{position:absolute;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);transform:translate(-50%);z-index:60;background:var(--ink);color:var(--bg);border-radius:var(--pill);padding:10px 16px;font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-2);white-space:nowrap;max-width:calc(100% - 32px);animation:toast-in .2s ease}.toast svg{width:18px;height:18px;color:var(--teal)}@keyframes toast-in{0%{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%);opacity:1}}.demo-note{font-size:11.5px;color:var(--ink-3);text-align:center;padding:4px 8px}.job{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:14px;display:flex;flex-direction:column;gap:8px}.job .top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.job h3{font-size:15.5px}.job .pay{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--orange-d);white-space:nowrap}.job .meta{font-size:12.5px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 10px}.ikkatsu-head{background:linear-gradient(135deg,#173f82,#3565b5);color:#fff;border-radius:var(--radius);padding:14px 16px}.ikkatsu-head h2{font-size:18px}.ikkatsu-head p{font-size:12.5px;opacity:.92;margin-top:2px}.scan{position:relative;height:150px;border-radius:var(--radius-sm);background:var(--surface-2);overflow:hidden;border:1.5px dashed var(--line-strong);display:grid;place-items:center;color:var(--ink-3);font-size:13px}.scan:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--teal);box-shadow:0 0 12px var(--teal);animation:scan 1.2s ease-in-out infinite}@keyframes scan{0%{top:8%}50%{top:90%}to{top:8%}}.shot-preview{max-height:180px;border-radius:var(--radius-sm);object-fit:contain;background:var(--surface-2);width:100%}.week-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.week-strip::-webkit-scrollbar{display:none}.upcoming{display:flex;flex-direction:column;gap:8px}.splash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:var(--bg)}.splash h1{font-size:22px}.splash p{color:var(--ink-2);font-size:14px;max-width:320px}.splash p.is-error{color:var(--red)}.sync-banner{background:var(--amber-t);color:var(--ink);font-size:12px;padding:6px 16px;flex:none}.months{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:10px}.months .mo{height:26px;border-radius:7px;font-family:var(--font-display);font-weight:800;font-size:11px;display:grid;place-items:center;border:1.5px solid transparent}.months .mo.has{background:var(--orange);color:var(--on-color)}.months .mo.missing{background:var(--surface);color:var(--orange-d);border-color:var(--orange);border-style:dashed}.months .mo.future{background:var(--surface-3);color:var(--ink-3)}.shift-note{color:var(--ink-2);font-weight:700}.gate{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 16px;background:var(--bg);max-width:480px;margin:0 auto}.gate-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.gate-brand h1{font-size:24px}.gate-brand p{color:var(--ink-2);font-size:13.5px;max-width:300px;text-wrap:balance}.gate-card{width:100%;display:flex;flex-direction:column;gap:12px}.gate-or{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12px}.gate-or:before,.gate-or:after{content:"";flex:1;height:1px;background:var(--line)}.gate-links a,.consent-check a,.card a{color:var(--teal-d);font-weight:700}.btn--line{background:#06c755;color:#fff}.consent-points{margin:0;padding-left:16px;font-size:13px;color:var(--ink-2);display:flex;flex-direction:column;gap:4px}.consent-check{align-items:flex-start;font-size:13.5px;padding-block:4px}.consent-check input{margin-top:1px}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;align-items:center}.kv>span{color:var(--ink-3);font-weight:700;font-size:12px}.kv code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.agency-check{align-items:flex-start;padding:6px 0}.agency-check input{margin-top:1px}.agency-check .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.agency-check .t b{font-size:13.5px}.agency-check .t .small{word-break:break-all}.code-box--clip span{flex:1;font-size:12px;line-height:1.5;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.choice--card{background:var(--surface);width:100%}.choice--card .t{flex:1}.choice--card .chev{width:18px;height:18px;color:var(--ink-3);flex:none}:root{--spot: #173f82;--spot-t: #eaf0f8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--spot: #8fb0ea;--spot-t: #1d2a40}}:root[data-theme=dark]{--spot: #8fb0ea;--spot-t: #1d2a40}.ic--spot{background:var(--spot-t);color:var(--spot)}.btn--spot{background:#173f82;color:#fff}.chip--spot{background:var(--spot-t);color:var(--spot)}.jobs{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;gap:14px}.jobs .section-head{justify-content:center}.jobs .section-head h2{font-size:18px}.jobs>.small{text-align:center}:root{--purple: #7c5cd6;--purple-t: #efeafc;--purple-d: #5b3fb5}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--purple: #a58cf0;--purple-t: #2a2340;--purple-d: #c4b2ff}}:root[data-theme=dark]{--purple: #a58cf0;--purple-t: #2a2340;--purple-d: #c4b2ff}.chip--purple{background:var(--purple-t);color:var(--purple-d)}.subtabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:var(--pill);background:var(--surface);border:1.5px solid var(--line)}.subtabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;border-radius:var(--pill);font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--ink-3)}.subtabs button svg{width:19px;height:19px}.subtabs button[aria-selected=true]{background:var(--teal);color:var(--on-color)}.year-select{position:relative;align-self:flex-start;display:inline-flex}.year-select select{appearance:none;-webkit-appearance:none;height:44px;padding:0 42px 0 18px;border-radius:var(--pill);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:16px;cursor:pointer}.year-select select:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-t)}.year-select svg{position:absolute;right:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}
