:root{--bg: #f7f1ec;--card: #ffffff;--ink: #3b2f2a;--sub: #6f6058;--line: #eadfd6;--line-strong: #968478;--primary: #b8503e;--primary-hover: #a64838;--primary-dark: #9c4232;--accent: #e8735f;--focus: var(--primary-dark);--ok: #5aa57a;--ok-ink: #37734f;--warn: #d99a2b;--warn-ink: #8a5a00;--warn-line: #b07a12;--danger: #b8393a;--radius: 18px;--soft: #faf5f0;--primary-soft: #fde7e1;--header-h: 72px;--sched-nav-h: 0px;--bottom-tabs-h: 0px;font-family:Hiragino Maru Gothic ProN,Hiragino Sans,BIZ UDPGothic,Yu Gothic Medium,Yu Gothic,Meiryo,Noto Sans JP,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100dvh;line-height:1.5;-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3{margin:0 0 8px}.sub{color:var(--sub);font-size:.9em}.card{background:var(--card);border-radius:var(--radius);padding:18px 20px;border:1px solid #f0e6de;box-shadow:0 1px 2px #50321e0a,0 6px 20px #50321e0a}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:8px;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:8px}.grow{flex:1}.btn{border:0;border-radius:14px;padding:12px 18px;font-size:1rem;font-weight:700;background:var(--card);color:var(--ink);border:2px solid var(--line);cursor:pointer;transition:background .15s,border-color .15s,transform .05s}.btn:hover:not(:disabled){border-color:#d9c8bb}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn[aria-disabled=true]:hover{border-color:var(--line);background:var(--card);transform:none}.btn-primary[aria-disabled=true]:hover{border-color:var(--primary);background:var(--primary)}.btn-primary:hover:not(:disabled){border-color:var(--primary-dark);background:var(--primary-hover)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 0 var(--primary-dark)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger);background:#fbeceb}.btn-small{padding:6px 10px;font-size:.85rem;border-radius:10px}.btn.btn-text{border-color:transparent;background:transparent;color:var(--sub)}.btn.btn-text:hover:not(:disabled):not([aria-disabled=true]){border-color:transparent;background:var(--primary-soft);color:var(--ink);text-decoration:underline;text-underline-offset:3px}.btn.btn-text[aria-disabled=true],.btn.btn-text[aria-disabled=true]:hover{border-color:transparent;background:transparent;color:var(--sub)}.chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:2px 10px;border-radius:999px;font-size:.8rem;background:#f3ebe4;color:var(--sub)}.chip-primary{background:#fde3dd;color:var(--primary-dark)}.chip-ok{background:#e1f1e7;color:var(--ok-ink)}.chip-warn{background:#fbefd6;color:var(--warn-ink)}.dot{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#fff;font-weight:700;font-size:1.1rem;flex-shrink:0}.dot-sm{width:28px;height:28px;font-size:.8rem}input,select,textarea{font:inherit;padding:10px 12px;border-radius:10px;border:1.5px solid var(--line-strong);background:#fff;width:100%}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--sub)}.error{color:var(--danger);font-size:.9rem}.req-mark{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid var(--danger);border-radius:999px;color:var(--danger);background:var(--card);font-size:.72rem;font-weight:600;line-height:1.5;vertical-align:1px;white-space:nowrap}.toast{position:fixed;left:50%;bottom:max(96px,calc(var(--bottom-tabs-h) + 12px),calc(var(--reassign-dock-top, 0px) + 12px),calc(var(--map-dock-top, 0px) + 12px));max-width:calc(100vw - 24px);width:max-content;transform:translate(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 10px 30px #28190f40;z-index:1200;animation:toast-in .2s ease-out;pointer-events:none}.toast.has-action{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px}.toast-action{pointer-events:auto;flex-shrink:0;min-height:36px;padding:6px 12px;border:1.5px solid #fff;border-radius:8px;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.toast-action:hover{background:#ffffff26}.toast-action:focus-visible{outline:3px solid var(--primary);outline-offset:2px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}th{color:var(--sub);font-weight:600;font-size:.78rem;letter-spacing:.04em}tbody tr:hover td{background:#fdfaf7}.num{text-align:right;font-variant-numeric:tabular-nums}.map{width:100%;height:260px;border-radius:var(--radius);overflow:hidden;z-index:0}.map-loading{display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--sub);font-size:.9rem}.map-error{flex-direction:column;gap:8px}.page-loading{min-height:50vh;justify-content:center}.staff-shell{max-width:520px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 96px max(16px,env(safe-area-inset-left,0px))}@keyframes pulse{50%{opacity:.3}}.stop{display:flex;gap:12px;align-items:center;padding:10px 0}.stop.done{opacity:.55}.leg{padding-left:20px;color:var(--sub);font-size:.85rem;border-left:3px dotted var(--line);margin-left:20px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.nowrap{white-space:nowrap}.ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warn-text{color:var(--warn-ink)}.table-scroll{overflow-x:auto;position:relative}.visit-table td{vertical-align:middle}.visit-name{display:flex;align-items:center;gap:8px;min-width:0}.route-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.route-col{display:flex;flex-direction:column;gap:8px;padding:12px;border:1.5px solid var(--line);border-top:6px solid var(--line);border-radius:14px;min-width:0}.demo-staff{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.demo-staff .btn{display:flex;flex-direction:column;gap:2px;padding:10px}.slot-row{display:flex;align-items:center;gap:8px}.slot-row select{width:auto;min-width:96px}.avail-table{border-collapse:separate;border-spacing:2px;font-size:.75rem}.avail-table th,.avail-table td{padding:0;border:0;text-align:center}.avail-name{position:sticky;left:0;background:var(--card);text-align:left!important;padding-right:8px!important;white-space:nowrap;font-size:.85rem;z-index:1}.avail-day{min-width:38px;font-weight:600;color:var(--sub)}.avail-day.dow-0{color:var(--danger)}.avail-day.dow-6{color:#4a7fc1}.avail-day.is-today{background:#fde3dd;border-radius:6px}.avail-btn{width:100%;min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px;border:1.5px solid transparent;border-radius:6px;background:#faf6f2;color:var(--sub);font:inherit;font-size:.72rem;line-height:1.15;cursor:pointer;position:relative}.avail-btn.is-off{color:#c4b5aa}.avail-btn.is-override{background:#fde3dd;color:var(--primary-dark);font-weight:700}.avail-btn.is-past{opacity:.55}.avail-btn.is-picked{border-color:var(--primary)}.avail-mark{color:var(--primary);font-size:.6rem}.avail-btn .avail-mark{position:absolute;top:1px;right:2px}.chip-red{background:#fbe1dd;color:var(--danger);font-weight:700}.red-text{color:var(--danger);font-weight:700}.route-col-none{border-top-color:var(--warn);background:#fdf7ea}.route-col-none.is-drag-only{order:1}.route-col.is-drop{outline:3px dashed var(--primary);outline-offset:2px}.route-col.is-drop.is-red{outline-color:var(--danger);background:#fdf0ee}.drop-warning{color:var(--danger);font-size:.85rem;font-weight:700}.route-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:2px solid var(--line);border-radius:10px;background:var(--card);cursor:grab}.route-item.is-red{border-color:var(--danger);background:#fdf0ee}.route-item.is-dragging{opacity:.4}.route-item.is-static{cursor:default}.segmented{display:inline-flex;align-self:flex-start;margin:0;padding:0;min-width:0;border:2px solid var(--line);border-radius:12px;overflow:hidden}.segmented button{border:0;padding:8px 14px;background:var(--card);font:inherit;font-size:.9rem;color:var(--sub);cursor:pointer}.segmented button+button{border-left:2px solid var(--line)}.segmented button.is-on{background:#fde3dd;color:var(--primary-dark);font-weight:700}.segmented button:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.compare{display:flex;flex-direction:column;gap:10px}.compare-row{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(0,1fr);gap:12px;padding-top:10px;border-top:4px solid var(--line)}.compare-header{border-top:0;padding-top:0;font-weight:700;color:var(--sub)}.compare-staff{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;border:1.5px solid transparent;border-radius:12px;background:none;font:inherit;text-align:left;cursor:pointer}.compare-staff.is-on{border-color:var(--line);background:#faf6f2}.compare-col{min-width:0}.leg-line{padding:3px 0 3px 14px;margin-left:10px;border-left:3px dotted var(--line);color:var(--sub);font-size:.8rem}.route-item.is-moved{border-color:#4a7fc1;background:#eef4fb}.chip-move{align-self:flex-start;background:#dce8f6;color:#2f5f99;font-weight:700}.app-shell{min-height:100dvh;display:grid;grid-template-columns:232px minmax(0,1fr)}.side-nav{position:sticky;top:0;height:100dvh;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:14px 14px 16px;background:var(--card);border-right:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;padding:0 6px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,#f3967f,var(--primary-dark));color:#fff;box-shadow:0 4px 10px #c85c494d}.brand-text{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:.92rem;line-height:1.3}.demo-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;color:var(--sub)}.nav-groups{display:flex;flex-direction:column;gap:10px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-title{margin:0;padding:0 10px 2px;font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--sub)}.nav-link{display:flex;align-items:center;gap:10px;min-height:34px;padding:5px 10px;line-height:1.4;border-radius:10px;text-decoration:none;color:var(--ink);font-size:.95rem;transition:background .15s}.nav-link svg{color:var(--sub);flex-shrink:0}.nav-link:hover{background:var(--soft)}.nav-link.active{background:var(--primary-soft);color:var(--primary-dark);font-weight:700}.nav-link.active svg{color:var(--primary)}.nav-parent-row{display:flex;align-items:center;gap:2px}.nav-parent-row .nav-link{flex:1;min-width:0}.nav-link.has-current:not(.active){font-weight:700}.nav-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--sub);cursor:pointer;flex-shrink:0}.nav-toggle:hover{background:var(--soft);color:var(--ink)}.nav-toggle svg{transition:transform .15s}.nav-parent:not(.is-open) .nav-toggle svg{transform:rotate(-90deg)}.nav-sub[hidden]{display:none}.nav-sub{display:flex;flex-direction:column;gap:1px;margin:1px 0 4px 18px;padding-left:8px;border-left:1px solid var(--line)}.nav-link.nav-child span{white-space:nowrap}.nav-link.nav-child{min-height:30px;padding:3px 8px;font-size:.88rem}.nav-link.nav-child svg{width:16px;height:16px}.nav-badge{position:relative;margin-left:auto;padding:0 6px;border-radius:999px;background:#fbe7c4;color:#7a4a0c;font-size:.72rem;font-weight:700;line-height:1.6;white-space:nowrap}@media(min-width:861px)and (max-height:860px){.side-nav{gap:8px;padding:10px 12px}.side-nav .brand-mark{width:32px;height:32px;border-radius:10px}.nav-groups{gap:4px}.nav-group{gap:0}.nav-group-title{padding-bottom:0;font-size:.68rem}.nav-link{min-height:30px;padding:3px 10px;font-size:.92rem;line-height:1.3}.nav-link.nav-child{min-height:26px;padding:2px 8px}.nav-sub{margin-bottom:2px}}.side-nav{background:linear-gradient(to bottom,rgba(255,255,255,0),var(--card) 70%) 0 100% / 100% 40px no-repeat local,radial-gradient(farthest-side at 50% 100%,#3c281e38,#3c281e00) 0 100% / 100% 16px no-repeat scroll,var(--card)}.app-body{min-width:0;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:20;min-height:var(--header-h);box-sizing:border-box;display:flex;justify-content:flex-end;align-items:center;gap:8px 16px;padding:10px 24px;background:#f7f1ecdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.date-switch{display:flex;align-items:center;gap:4px;padding:3px;background:var(--card);border:1px solid var(--line);border-radius:12px}.date-switch .date-icon{color:var(--primary);margin:0 2px 0 6px}.date-switch select{width:auto;padding:5px 6px;border:0;font-weight:700;background:transparent}.app-main{padding:20px 28px 48px;display:flex;flex-direction:column;gap:16px;min-width:0;max-width:1440px}.m-head-title,.bottom-tabs{display:none}@media(max-width:860px){:root{--bottom-tabs-h: calc(58px + env(safe-area-inset-bottom, 0px)) }.app-shell{grid-template-columns:minmax(0,1fr)}.side-nav{display:none}.app-header{min-height:0;flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:calc(8px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px))}.m-head-title{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.m-head-title .brand-mark{width:32px;height:32px;border-radius:10px}.m-screen-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}.m-screen-name:has(.m-screen-item){white-space:normal;line-height:1.2}.m-screen-group,.m-screen-item{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.m-screen-group{font-size:.78rem;font-weight:700;color:var(--sub)}@media(max-width:400px){.m-head-title{gap:6px}.m-head-title .brand-mark{width:28px;height:28px}.m-screen-item{font-size:.94rem}}.app-header .date-switch{margin-left:auto}.app-main{padding:16px max(14px,env(safe-area-inset-right,0px)) calc(40px + var(--bottom-tabs-h)) max(14px,env(safe-area-inset-left,0px))}.bottom-tabs{position:fixed;left:0;right:0;bottom:0;z-index:950;height:var(--bottom-tabs-h);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 16px #28190f0f}.bottom-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--sub);font-size:.78rem}button.bottom-tab{border:0;background:none;padding:0;font:inherit;font-size:.78rem;cursor:pointer}.bottom-tab:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.bottom-tab.active{color:var(--primary-dark);font-weight:700}.bottom-tab.active svg{color:var(--primary)}}.nav-drawer-wrap{position:fixed;inset:0;z-index:1100;display:flex}.nav-drawer-backdrop{position:absolute;inset:0;background:#28190f59;animation:drawer-fade .15s ease-out}.nav-drawer{position:relative;width:min(300px,86vw);height:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:18px;padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));background:var(--card);box-shadow:12px 0 36px #28190f38;animation:nav-drawer-in .2s ease-out}.nav-drawer:focus{outline:none}.nav-drawer-head{display:flex;align-items:center;gap:8px}.nav-drawer-head .brand{flex:1;min-width:0}@keyframes nav-drawer-in{0%{transform:translate(-100%)}}@media print{:root{--bottom-tabs-h: 0px}.bottom-tabs,.nav-drawer-wrap{display:none!important}}@media print and (max-width:860px){.app-header{display:none!important}}.save-error{display:flex;align-items:center;gap:8px;background:#fbe1dd;color:var(--danger);font-weight:700;padding:8px 24px}.page-head{display:flex;flex-direction:column;gap:4px}.page-head-row{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.page-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);flex-shrink:0}.page-title{flex:1;min-width:200px}.page-title h1{margin:0;font-size:1.4rem;line-height:1.3;letter-spacing:.02em}.page-lead{margin:0;word-break:auto-phrase;text-wrap:pretty;color:var(--sub);font-size:.88rem}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.page-actions .btn:not(.btn-small){padding-top:9px;padding-bottom:9px}.page-tabs{border-bottom:1px solid var(--line)}.view-switch{display:flex;gap:4px;margin-bottom:-1px}.view-switch-item{position:relative;display:inline-flex;align-items:center;gap:5px;padding:5px 14px;border-bottom:3px solid transparent;color:var(--sub);font-size:.95rem;text-decoration:none}.view-switch-item:hover{color:var(--ink);border-bottom-color:var(--line)}.view-switch-item.is-on{color:var(--primary-dark);font-weight:700;border-bottom-color:var(--primary)}.settings-tabs{position:relative;overflow-x:auto;scrollbar-width:thin}.settings-tabs .view-switch-item{flex-shrink:0;white-space:nowrap}@media(max-width:600px){.settings-tabs .view-switch-item{padding:5px 10px}}.arrange-steps{display:flex;align-items:center;gap:4px;margin:0 0 -1px;padding:0;list-style:none;overflow-x:auto;scrollbar-width:thin}.arrange-steps li{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap}.arrange-steps li+li:before{content:"›";margin-right:4px;color:var(--sub)}.arrange-step{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:3px solid transparent;color:var(--sub);font-size:.95rem;text-decoration:none}a.arrange-step:hover{color:var(--ink);border-bottom-color:var(--line)}.arrange-step[aria-current=step]{color:var(--primary-dark);font-weight:700;border-bottom-color:var(--primary)}.arrange-step-no{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid currentColor;font-size:.75rem}.arrange-step[aria-current=step] .arrange-step-no{background:var(--primary);border-color:var(--primary);color:#fff}@media(max-width:480px){.arrange-step{padding:5px 6px}.arrange-steps li:not(.is-current) .arrange-step-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.sched-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 0;border-bottom:1px solid var(--line);background:var(--bg)}.sched-nav-move{display:flex;align-items:center;gap:8px}.period-switch{display:flex;align-items:center;gap:4px;padding:3px;background:var(--card);border:1px solid var(--line);border-radius:12px}.period-switch select{width:auto;padding:5px 6px;border:0;font-size:1.02rem;font-weight:700;background:transparent}.sched-nav-today{white-space:nowrap}.sched-nav .view-switch{margin:0;gap:0;border:2px solid var(--line);border-radius:12px;overflow:hidden}.sched-nav .view-switch-item{padding:6px 14px;border-bottom:0;background:var(--card)}.sched-nav .view-switch-item+.view-switch-item{border-left:2px solid var(--line)}.sched-nav .view-switch-item:hover{border-bottom-color:transparent;background:var(--soft)}.sched-nav .view-switch-item.is-on{background:#fde3dd}.sched-nav .view-switch-item:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.sched-nav-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}.sched-nav-actions .btn:not(.btn-small){padding-top:9px;padding-bottom:9px}@media screen{.sched-nav-period{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}html{scroll-padding-top:var(--sched-nav-h)}@media screen and (min-width:861px){.sched-nav{position:sticky;top:var(--header-h);z-index:15;margin-top:-8px;background:#f7f1eceb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@media(max-width:600px){.sched-nav{gap:8px}.sched-nav-actions{margin-left:0}.sched-nav-move{width:100%;min-width:0}.period-switch{flex:1;min-width:0}.period-switch select{flex:1;min-width:0;text-overflow:ellipsis}}@media print{.sched-nav{display:block;padding:0;border:0}.sched-nav>:not(.sched-nav-period){display:none}.sched-nav-period{margin:0;font-size:1.05rem}}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-bottom:10px}.section-title h2,.section-title h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1.08rem}.section-title h2 svg,.section-title h3 svg{color:var(--primary)}.section-aside{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.85rem;color:var(--sub)}.hint{font-size:.85rem;color:var(--sub)}.hint summary{display:inline-flex;align-items:center;gap:4px;cursor:pointer;list-style:none;padding:2px 8px;border-radius:999px;-webkit-user-select:none;user-select:none}.hint summary::-webkit-details-marker{display:none}.hint summary:hover,.hint[open] summary{background:var(--soft);color:var(--ink)}.hint-body{margin-top:6px;padding:10px 12px;border-radius:10px;background:var(--soft);line-height:1.65;max-width:760px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--soft);min-width:0}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--sub);flex-shrink:0}.stat-body{display:flex;flex-direction:column;min-width:0}.stat-label{font-size:.75rem;color:var(--sub)}.stat-value{font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.stat-value small{margin-left:2px;font-size:.75rem;font-weight:600;color:var(--sub)}.stat-note{font-size:.72rem;color:var(--sub)}.stat.tone-primary .stat-icon{background:var(--primary);color:#fff}.stat.tone-ok{background:#e9f5ee}.stat.tone-ok .stat-icon{color:var(--ok-ink)}.stat.tone-warn{background:#fcf3e1}.stat.tone-warn .stat-icon{color:var(--warn-ink)}.stat.tone-danger{background:#fbe6e2}.stat.tone-danger .stat-icon,.stat.tone-danger .stat-value{color:var(--danger)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1.5px solid var(--line);border-radius:9px;background:var(--card);color:var(--sub);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover:not(:disabled){color:var(--ink);border-color:#d9c8bb;background:var(--soft)}.icon-btn.tone-danger:hover:not(:disabled){color:var(--danger);border-color:#efc3bb;background:#fdf0ed}.icon-btn:disabled{opacity:.4;cursor:default}.with-icon{display:inline-flex;align-items:center;gap:6px}.btn .with-icon{vertical-align:middle}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 12px;color:var(--sub);text-align:center;font-size:.9rem}.empty svg{color:#c9b8ab}.actions{display:flex;gap:4px;justify-content:flex-end;align-items:center}.error-detail{white-space:pre-wrap;font-size:.85rem;background:#faf6f2;padding:8px;border-radius:8px}.ok-text{color:var(--ok-ink);font-weight:700}a.btn{display:inline-block;text-decoration:none}label.check{flex-direction:row;align-items:center;gap:4px;width:auto;color:var(--ink)}label.check input{width:auto}.field{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.field-label{color:var(--sub)}.cond-table{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}.cond-line{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:10px;align-items:center;padding:8px 12px}.cond-line+.cond-line{border-top:1px solid var(--line)}.cond-line.is-set{background:#fff8f4}.cond-name{font-size:.9rem;color:var(--sub)}.cond-line.is-set .cond-name{color:var(--ink);font-weight:700}.num-range input{width:90px;padding:6px 8px}.segmented.seg-sm button{padding:5px 12px;font-size:.85rem}@media(max-width:600px){.cond-line{grid-template-columns:minmax(0,1fr);gap:4px}}.weight{display:flex;align-items:center;gap:8px}.weight input[type=range]{padding:0;border:0;accent-color:var(--primary);cursor:pointer}.weight-value{min-width:2.5em;text-align:right;font-variant-numeric:tabular-nums;font-weight:700;font-size:.85rem}.is-dim{opacity:.45}.rules-table td{vertical-align:top}.side-panel{gap:10px}.route-btn{width:100%;font:inherit;text-align:left;cursor:pointer}.route-item.is-picked{box-shadow:0 0 0 2px var(--primary)}.plain-btn{display:flex;flex-direction:column;gap:4px;padding:0;border:0;background:none;color:inherit}.route-item.is-pinned{border-color:var(--primary);background:#fff6ee}.chip-pin{background:#fde3cc;color:#a2511a;font-weight:700}.reason-box{display:flex;flex-direction:column;gap:4px;margin:4px 0 6px;padding:8px 10px;border-radius:10px;background:#faf6f2;font-size:.85rem}.compare-table th{font-weight:600}.compat-table{border-collapse:separate;border-spacing:2px;width:auto}.compat-table th,.compat-table td{padding:2px;border:0}.compat-head{font-size:.8rem;text-align:center!important;white-space:nowrap}.compat-btn{width:44px;height:36px;border:1.5px solid var(--line);border-radius:8px;background:#faf6f2;font:inherit;font-size:1.1rem;font-weight:700;cursor:pointer;color:var(--ink)}.compat-btn.lv2,.compat-btn.lv1{background:#e1f1e7;color:var(--ok-ink)}.compat-btn.lvm1{background:#fbefd6;color:var(--warn-ink)}.compat-btn.lvm2{background:#fbe1dd;color:var(--danger);border-color:var(--danger)}.phone-wrap{max-width:440px;margin:16px auto;padding:0 12px}.phone{border:10px solid #3b2f2a;border-radius:32px;background:var(--bg);padding:16px;min-height:640px}.runs-table td,.runs-table th{vertical-align:middle}.runs-table tr.is-a td:first-child,.runs-table tr.is-b td:nth-child(2){background:#fde3dd}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:600px){.m-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.trait-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:160px}.trait-chips .chip{white-space:normal;padding:2px 8px}a.icon-btn{text-decoration:none}a.icon-btn:hover{color:var(--ink);border-color:#d9c8bb;background:var(--soft)}.map-dock{position:fixed;right:20px;bottom:calc(20px + var(--bottom-tabs-h));z-index:900;width:min(380px,calc(100vw - 24px));display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px #28190f38;animation:map-dock-in .2s ease-out}@keyframes map-dock-in{0%{opacity:0;transform:translateY(8px)}}.map-dock-head{display:flex;align-items:center;gap:6px;color:var(--primary-dark)}.map-dock-head strong{flex:1;color:var(--ink);font-size:.9rem}.map-dock-note{display:inline-flex;align-items:center;gap:4px;font-size:.72rem}.map-dock-fab{position:fixed;right:20px;bottom:calc(20px + var(--bottom-tabs-h));z-index:900;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #28190f40}@media(max-width:860px){.map-dock-fab{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + var(--bottom-tabs-h))}body:has(.map-dock-fab) .app-main{padding-bottom:calc(40px + 56px + var(--bottom-tabs-h))}}@media(max-width:600px){.map-dock{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + var(--bottom-tabs-h))}.map-dock .map{height:200px!important}}.drawer-wrap{position:fixed;inset:0;z-index:1100;display:flex;justify-content:flex-end}.drawer-backdrop{position:absolute;inset:0;border:0;padding:0;background:#3b2f2a59;cursor:default;animation:drawer-fade .15s ease-out}.drawer:focus{outline:none}.drawer{position:relative;width:min(640px,100vw);height:100%;background:var(--card);box-shadow:-10px 0 40px #28190f33;display:flex;flex-direction:column;animation:drawer-in .2s ease-out}.drawer.is-narrow{width:min(440px,100vw)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;display:flex;align-items:center;gap:8px;font-size:1.1rem}.drawer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:calc(var(--drawer-foot-h, 0px) + 8px)}.drawer-content{padding:16px 20px 24px}.drawer-content:has(+.drawer-foot){padding-bottom:8px}.drawer-foot{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px max(20px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));background:var(--card);border-top:1px solid transparent;transition:background-color .15s,border-color .15s,box-shadow .15s}.drawer-foot[data-stuck=true]{background:var(--soft);border-top-color:var(--line);box-shadow:0 -6px 16px #28190f14}.drawer-foot-end{height:0}@media(min-width:601px){.drawer-wrap{align-items:flex-start;padding:12px;box-sizing:border-box}.drawer{width:min(640px,100%);height:auto;max-height:100%;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px #28190f40}.drawer.is-narrow{width:min(440px,100%)}.drawer-body{flex:0 1 auto}}@media(max-width:600px){.drawer-head{padding:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px))}.drawer-content{padding:14px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px))}.drawer-foot{align-items:stretch;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.drawer-foot>.btn{flex:1 1 0;min-width:0;padding-left:10px;padding-right:10px}.drawer-foot:has(>.btn~.btn~.btn)>.btn{flex:1 1 calc(50% - 4px)}.drawer-foot:has(>.btn~.btn~.btn)>.btn:first-child{flex-basis:100%}.drawer-foot>:not(.btn){flex:1 1 100%}}html[data-drawer-toast=top] body:has(.drawer-wrap) .toast{top:calc(var(--drawer-top, 0px) + var(--drawer-head-h, 61px) + 8px);bottom:auto}html[data-drawer-toast=sheet] body:has(.drawer-wrap) .toast{top:auto;bottom:var(--drawer-sheet-bottom, 96px)}html[data-drawer-toast=side] body:has(.drawer-wrap) .toast{left:calc((100vw - var(--drawer-w, 640px)) / 2);max-width:calc(100vw - var(--drawer-w, 640px) - 24px)}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}}@keyframes drawer-fade{0%{opacity:0}}.visit-rules{display:grid;gap:2px;margin:4px 0 0;font-size:.85rem}.visit-rule{display:grid;grid-template-columns:5.2em 1fr;gap:6px;align-items:baseline}.visit-rule dt{display:inline-flex;align-items:center;gap:4px;color:var(--sub);font-weight:700}.visit-rule dd{margin:0;overflow-wrap:anywhere}.visit-rule.is-caution dd{color:#9a3412;font-weight:700}.chip-leave{background:#eef2f7;color:#3f4f63;border-color:#c9d3df}.score-reason{display:inline-flex;align-items:center;gap:3px;font-size:.82rem;font-weight:700;color:#8a5a00}.score-reason svg{flex-shrink:0}.empty-next{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;text-align:center}.empty-next>svg{color:#c9b8ab}.empty-next .sub{margin:0;max-width:560px}.empty-next-text{display:flex;flex-direction:column;align-items:center;gap:4px}.empty-next.is-compact{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:0;text-align:left}.empty-next.is-compact .empty-next-text{flex:1 1 320px;align-items:flex-start;gap:0}.empty-next.is-compact .sub{font-size:.82rem}.empty-next.is-compact .empty-next-actions{margin-top:0}.empty-next-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}@media(max-width:480px){.empty-next-actions{flex-direction:column;align-self:stretch}.empty-next.is-compact{flex-direction:column;align-items:stretch}.empty-next.is-compact>svg{display:none}.empty-next.is-compact .empty-next-text{flex:none;min-width:0}}@media print{.empty-next-actions{display:none}}@media(any-pointer:coarse){.nav-link,.nav-link.nav-child{min-height:44px}.nav-toggle:before{content:"";position:absolute;inset:-8px}.view-switch-item:before{content:"";position:absolute;inset:-4px 0}}@media(pointer:coarse){.icon-btn{position:relative}.icon-btn:before{content:"";position:absolute;inset:-6px}.icon-btn:has(+:is(button,a,select,input)):before{right:-2px}:is(button,a,select,input)+.icon-btn:before{left:-2px}}@media(max-width:860px){input,select,textarea{font-size:max(16px,1em)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:600px){table.narrow-cards{display:block;width:100%;min-width:0!important}.narrow-cards>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.narrow-cards>tbody{display:flex;flex-direction:column;gap:10px}.narrow-cards>tbody>tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.narrow-cards>tbody>tr>td{order:1;flex:1 1 100%;width:auto!important;min-width:0!important;padding:0;border:0;background:transparent!important;text-align:left;white-space:normal}.narrow-cards>tbody>tr>td[data-label]{position:relative;min-height:1.5em;padding-left:6.4rem}.narrow-cards>tbody>tr>td[data-label]:before{content:attr(data-label);position:absolute;top:50%;left:0;width:6rem;transform:translateY(-50%);color:var(--sub);font-size:.75rem;font-weight:600;line-height:1.3}.narrow-cards>tbody>tr>td.narrow-block{padding-left:0}.narrow-cards>tbody>tr>td.narrow-block:before{position:static;display:block;width:auto;margin-bottom:4px;transform:none}.narrow-cards>tbody>tr>td.narrow-title,.narrow-cards>tbody>tr>td.narrow-head{order:0;padding-left:0}.narrow-cards>tbody>tr>td.narrow-title{flex:1 1 0;font-weight:700}.narrow-cards>tbody>tr>td.narrow-head{flex:0 0 auto}.narrow-cards>tbody>tr>td.narrow-title:before,.narrow-cards>tbody>tr>td.narrow-head:before{content:none}.narrow-cards>tbody>tr>td.narrow-act{order:2;flex:0 0 auto;margin-left:auto;padding-left:0}.narrow-cards>tbody>tr>td.narrow-act .actions{justify-content:flex-end}.narrow-cards .person-name,.narrow-cards .person-sub{white-space:normal}.card.table-scroll:has(>.narrow-cards){padding:0;border:0;background:none;box-shadow:none}.rules-table.narrow-cards .weight{width:100%}.rules-table.narrow-cards .weight input[type=range]{flex:1 1 auto;min-width:0}.runs-table.narrow-cards>tbody>tr:is(.is-a,.is-b){background:var(--soft)}.narrow-preset-summary{flex-wrap:wrap}.narrow-preset-summary>strong{max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.narrow-preset-summary>.ellipsis{flex:1 1 100%}.compare-another-row{position:sticky;bottom:var(--bottom-tabs-h);z-index:2;padding:10px 0 12px;border-top:1px solid var(--line);background:var(--card)}}@media screen and (max-width:600px){.compare-another{display:contents}}.roster-card[hidden],.narrow-filter-body[hidden]{display:none}.narrow-filter-head{justify-content:space-between;gap:8px}.narrow-filter-mark{transition:transform .15s}.narrow-filter-toggle[aria-expanded=true] .narrow-filter-mark{transform:rotate(180deg)}.scroll-edge{position:relative;min-width:0}@media(max-width:600px){.scroll-edge:after{content:"";position:absolute;top:0;right:0;bottom:0;width:28px;background:linear-gradient(to right,rgba(255,255,255,0),var(--card));opacity:0;transition:opacity .15s;pointer-events:none;z-index:5}.scroll-edge.has-more-right:after{opacity:1}}@media screen and (max-width:600px){.avail-scroll,.work-grid-scroll{max-height:calc(100dvh - var(--header-h) - var(--bottom-tabs-h) - 24px);overflow:auto}.avail-table thead th,.work-grid thead th{position:sticky;top:0;z-index:2;background:var(--card)}.avail-table thead th.avail-name,.work-grid thead th.work-grid-name{left:0;z-index:3}.vacancy-grid tbody th,.vacancy-grid thead th.vacancy-corner{position:sticky;left:0;z-index:1;background:var(--card)}}@media print{.scroll-edge:after{display:none}}.row-open{cursor:pointer}.row-open:hover>td{background:#fbf3ec}.hint-list{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:2px}@media(max-width:600px){.drawer-wrap.has-sheet{align-items:flex-end}.drawer.is-sheet{height:auto;max-height:88%;border-radius:16px 16px 0 0;box-shadow:0 -10px 40px #28190f40;animation:sheet-in .2s ease-out}.drawer.is-sheet .drawer-body{flex:0 1 auto}.drawer.is-sheet .drawer-head{position:relative;padding-top:18px}.drawer.is-sheet .drawer-head:before{content:"";position:absolute;top:6px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--line-strong);opacity:.5}}@keyframes sheet-in{0%{transform:translateY(32px);opacity:0}}.app-header .fullscreen-btn{flex-shrink:0}@media print{.fullscreen-btn{display:none!important}}.batch-band{display:inline-flex;align-items:center;gap:8px;margin-right:auto;padding:4px 6px 4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);line-height:1.25;min-width:0}.batch-band-text{color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-band .btn{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.batch-band-spin{flex:none;color:var(--primary);animation:batch-band-spin 1.2s linear infinite}@keyframes batch-band-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.batch-band-spin{animation:none}}@media(max-width:860px){.batch-band{order:10;flex:1 1 100%;margin-right:0;justify-content:space-between}}@media print{.batch-band{display:none}}.staff-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:28%;color:#fff;font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;vertical-align:middle;-webkit-user-select:none;user-select:none;text-shadow:0 0 2px rgb(0 0 0 / .25);print-color-adjust:exact;-webkit-print-color-adjust:exact}.staff-mark:before{content:attr(data-text)}.staff-mark-xs{width:16px;height:16px;font-size:.6rem}.staff-mark-sm{width:20px;height:20px;font-size:.7rem}.staff-mark-md{width:28px;height:28px;font-size:.85rem}.staff-mark-lg{width:44px;height:44px;font-size:1.15rem}.staff-mark-xs.is-two{font-size:.45rem}.staff-mark-sm.is-two{font-size:.55rem}.staff-mark-md.is-two{font-size:.7rem}.staff-mark-lg.is-two{font-size:.95rem}.with-staff-mark{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;vertical-align:middle}.staff-icon-field{display:flex;align-items:center;gap:10px}.staff-icon-field input{width:8em}.confirm-wrap{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.confirm-backdrop{position:absolute;inset:0;background:#28190f66;animation:drawer-fade .15s ease-out}.confirm-dialog{position:relative;width:min(460px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:20px 22px 18px;background:var(--card);border-radius:var(--radius);border-top:6px solid var(--accent);box-shadow:0 18px 50px #28190f4d;animation:confirm-in .15s ease-out}.confirm-dialog.is-danger{border-top-color:var(--danger)}.confirm-head{display:flex;align-items:flex-start;gap:10px}.confirm-head h2{margin:0;font-size:1.1rem;line-height:1.5}.confirm-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark)}.is-danger .confirm-icon{background:#fbeceb;color:var(--danger)}.confirm-body{margin:0;white-space:pre-line;line-height:1.7;overflow-wrap:anywhere}.confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:4px}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 4px #9e3527}.btn-danger-solid:hover:not(:disabled){background:#d65a4a;border-color:#9e3527}@media(max-width:480px){.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}}@keyframes confirm-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media print{.confirm-wrap{display:none!important}}.confirm-field{display:flex;flex-direction:column;gap:4px}.confirm-field input{width:100%}.type-dot{display:inline-block;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #3b2f2a40}.type-mark{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.78rem;color:var(--ink);white-space:nowrap;width:fit-content;align-self:flex-start}.type-mark.is-compact{padding:0 6px;font-size:.72rem}.detail-popover{position:fixed;top:0;left:0;z-index:1050;width:min(340px,calc(100vw - 16px));overflow-y:auto;padding:10px 12px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #28190f38;font-size:.85rem;color:var(--ink)}.detail-popover:focus{outline:none}.detail-popover:focus-visible{box-shadow:0 0 0 2px var(--primary),0 12px 32px #28190f38}.detail-popover-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.detail-popover-title{flex:1;min-width:0;margin:0;font-size:.95rem}.detail-popover-close{flex-shrink:0}.detail-popover dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0}.detail-popover dt{color:var(--sub);white-space:nowrap}.detail-popover dd{margin:0;min-width:0;overflow-wrap:anywhere}.detail-popover-list{margin:0;padding:0;list-style:none}.detail-popover-link{display:inline-block;margin-top:10px}.person-btn{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted;text-decoration-color:#b9a597;text-underline-offset:3px}.person-btn:hover{text-decoration-style:solid;text-decoration-color:currentColor}.person-btn[aria-expanded=true]{text-decoration-style:solid;text-decoration-color:var(--primary)}.person-btn:focus-visible,.person-info:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.person-info{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:999px;background:none;color:var(--sub);cursor:pointer;vertical-align:middle}.person-info:hover,.person-info[aria-expanded=true]{color:var(--ink);border-color:var(--line);background:var(--soft)}@media(pointer:coarse){.person-info{position:relative}.person-info:before{content:"";position:absolute;inset:-5px}:is(button,a)+.person-info:before{left:-1px}.person-info:has(+:is(button,a)):before{right:-1px}}@media print{.person-info,.detail-popover{display:none!important}.person-btn{text-decoration:none;cursor:auto}}.visit-panel{gap:12px}.vp-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:1.05rem}.vp-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:6px 0}.vp-facts dt{color:var(--muted, #7a6e64);font-size:.85rem}.vp-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.vp-section{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:0;min-width:0}.vp-section>legend{font-weight:700;padding:0 4px}.vp-choices{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.visit-panel .vp-choice{display:flex;flex-direction:row;color:var(--ink);align-items:flex-start;gap:8px;padding:4px 2px;border-radius:8px;cursor:pointer}.visit-panel .vp-choice input{width:auto;margin-top:3px}.vp-choice.is-off{opacity:.55;cursor:default}.vp-choice-text{display:flex;flex-direction:column;min-width:0}.vp-choice-name{font-weight:600}.vp-choice-desc{font-size:.8rem;overflow-wrap:anywhere}.visit-panel .btn.tone-danger{color:var(--danger)}@media print{.drawer-wrap:has(.visit-panel){display:none!important}}.vp-big{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vp-big>:last-child:nth-child(odd){grid-column:1 / -1}.visit-panel .vp-big-btn{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:700;text-decoration:none}.visit-panel .vp-big-btn svg{color:var(--primary-dark)}.vp-big-btn.is-on{border-color:var(--primary);background:var(--primary-soft)}.cmdk-wrap{position:fixed;inset:0;z-index:1150;display:flex;align-items:flex-start;justify-content:center;padding:max(10vh,calc(12px + env(safe-area-inset-top,0px))) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.cmdk-backdrop{position:absolute;inset:0;background:#28190f66;animation:drawer-fade .15s ease-out}.cmdk{position:relative;width:min(600px,100%);max-height:min(560px,100%);display:flex;flex-direction:column;background:var(--card);border-radius:var(--radius);box-shadow:0 18px 50px #28190f4d;overflow:hidden}.cmdk-head{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 14px;border-bottom:1px solid var(--line)}.cmdk-head-icon{flex:none;color:var(--primary)}.cmdk-input{flex:1;min-width:0;border:0;padding:6px 2px;font-size:1.05rem;background:transparent}.cmdk-input:focus{outline:none}.cmdk-close{flex:none}.cmdk-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px}.cmdk-list:empty{display:none}.cmdk-group+.cmdk-group{margin-top:6px}.cmdk-group-title{padding:6px 10px 4px;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--sub)}.cmdk-option{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;min-width:0}.cmdk-option.is-active{background:var(--primary-soft);color:var(--primary-dark)}.cmdk-option-label{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-option-hint{flex:1;min-width:0;font-size:.8rem;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-option-enter{flex:none;align-self:center;color:var(--primary)}.cmdk-rest{padding:4px 10px 2px;font-size:.78rem;color:var(--sub)}.cmdk-empty{margin:0;padding:18px 16px;color:var(--sub)}.cmdk-foot{margin:0;padding:8px 14px;border-top:1px solid var(--line);font-size:.75rem;color:var(--sub)}.cmdk-foot kbd,.cmdk-open kbd{display:inline-block;min-width:1.4em;padding:0 4px;border:1px solid var(--line);border-radius:5px;background:var(--soft);font-family:inherit;font-size:.72rem;line-height:1.5;text-align:center;color:var(--sub)}.cmdk-open{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}@media(max-width:860px){.app-header .cmdk-open,.cmdk-open-more,.cmdk-open-kbd,.cmdk-foot{display:none}.cmdk-wrap{padding-top:calc(12px + env(safe-area-inset-top,0px))}}@media print{.cmdk-wrap,.cmdk-open{display:none!important}}.data-broken-notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-bottom:12px;border-radius:14px;border:1.5px solid #f0d49b;background:#fdf3df;color:var(--ink)}.data-broken-notice>svg{flex-shrink:0;margin-top:2px;color:var(--warn-ink)}.data-broken-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere}.data-broken-text p{margin:0;line-height:1.6}@media print{.data-broken-notice{display:none!important}}.feature-section-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:1.05rem;margin:0}.feature-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:.8rem;font-weight:700;white-space:nowrap}.feature-badge.is-custom{background:var(--soft);color:var(--ink);border:1.5px solid var(--line)}.feature-templates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px}.feature-template{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--soft);min-width:0}.feature-template.is-now{border-color:#f4b9ab;background:var(--card)}.feature-template h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.98rem;margin:0}.feature-template p{margin:0;flex:1;overflow-wrap:anywhere}.feature-template .btn{align-self:flex-start}.feature-list{list-style:none;margin:0;padding:0}.feature-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.feature-row:first-child{border-top:0}.feature-text{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.feature-hides,.feature-req{color:var(--sub);font-size:.82rem}.feature-req.is-blocked{color:var(--warn-ink);font-weight:700}.feature-switch{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:4px;border:0;background:none;cursor:pointer;font:inherit;color:var(--sub);font-weight:700}.feature-switch-track{position:relative;width:44px;height:26px;border-radius:999px;background:#d9c8bb;transition:background .15s}.feature-switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}.feature-switch.is-on{color:var(--primary-dark)}.feature-switch.is-on .feature-switch-track{background:var(--primary)}.feature-switch.is-on .feature-switch-knob{transform:translate(18px)}.feature-switch[aria-disabled=true]{cursor:not-allowed;opacity:.5}.feature-switch:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:999px}.feature-off-notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:14px;border:1.5px solid #f0d49b;background:#fdf3df;color:var(--ink)}.feature-off-notice>svg{flex-shrink:0;margin-top:2px;color:var(--warn-ink)}.feature-off-text{flex:1;margin:0;min-width:0;overflow-wrap:anywhere}.feature-off-notice a{font-weight:700;color:var(--primary-dark)}@media print{.feature-off-notice,.feature-template .btn{display:none!important}}.mail-schedule-steps{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:4px}.tour-wrap{position:fixed;inset:0;z-index:1250;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.tour-backdrop{position:absolute;inset:0;background:#28190f66;animation:drawer-fade .15s ease-out}.tour-card{position:relative;width:min(480px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:20px 22px 18px;background:var(--card);border-radius:var(--radius);border-top:6px solid var(--accent);box-shadow:0 18px 50px #28190f4d;animation:tour-in .15s ease-out}.tour-head{display:flex;align-items:center;gap:10px}.tour-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark)}.tour-count{font-size:.85rem;font-weight:700;color:var(--sub)}.tour-main h2{margin:0 0 6px;font-size:1.15rem;line-height:1.5}.tour-body{margin:0;line-height:1.75;overflow-wrap:anywhere}.tour-body p{margin:0}.tour-points{margin:8px 0 0;padding-left:1.6em;display:flex;flex-direction:column;gap:4px;line-height:1.6}.tour-points li::marker{font-weight:700;color:var(--primary-dark)}.tour-where{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:var(--soft);font-size:.9rem}.tour-dots{display:flex;justify-content:center;gap:6px;margin:0;padding:0;list-style:none}.tour-dots li{width:8px;height:8px;border-radius:50%;background:var(--line)}.tour-dots li.is-on{width:20px;border-radius:999px;background:var(--primary)}.tour-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tour-spacer{flex:1}@keyframes tour-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media print{.tour-wrap{display:none!important}}.tour-choice{margin:0;padding:10px 12px 8px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:6px}.tour-choice-title{padding:0 4px;font-weight:700;font-size:.95rem}.tour-choice-item{display:flex;flex-direction:row;align-items:flex-start;color:var(--ink);font-size:.95rem;gap:8px;padding:6px 8px;border:1px solid transparent;border-radius:8px;cursor:pointer;line-height:1.5}.tour-choice-item input{width:auto;margin:4px 0 0;padding:0;flex:none}.tour-choice-item.is-on{border-color:var(--primary);background:var(--primary-soft)}.tour-choice-desc{display:block;font-size:.85rem;color:var(--sub)}.tour-choice-note{margin:0;font-size:.82rem;color:var(--sub)}.menu-wrap{position:relative;display:inline-flex}.menu-btn[aria-expanded=true]{border-color:var(--primary);color:var(--primary-dark)}.menu-chevron{margin-left:2px}.menu-list{position:absolute;top:calc(100% + 4px);left:0;z-index:1050;min-width:300px;width:max-content;max-width:min(400px,calc(100vw - 24px));max-height:min(70vh,560px);overflow-y:auto;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #28190f38}.menu-sep{margin-top:4px;padding-top:4px;border-top:1px solid var(--line)}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;font:inherit;font-size:.9rem;color:var(--ink);text-align:left;cursor:pointer}.menu-item:hover,.menu-item:focus-visible{background:var(--primary-soft);outline:none}.menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}.menu-item[aria-disabled=true]{color:var(--sub);cursor:not-allowed}.menu-item[aria-disabled=true]:hover{background:none}.menu-item.is-current .menu-item-label{font-weight:700}.menu-item-icon{display:inline-flex;width:16px;flex-shrink:0;color:var(--sub)}.menu-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.menu-item-head{display:flex;align-items:baseline;gap:8px}.menu-item-label{flex:1;min-width:0}.menu-item.has-desc{align-items:flex-start}.menu-item.has-desc .menu-item-icon{padding-top:2px}.menu-item-desc{color:var(--sub);font-size:.78rem;line-height:1.4}.menu-item-desc.is-why{color:var(--sub);font-style:normal}.menu-item-desc.is-why:before{content:"押せません："}.menu-group+.menu-group,.menu-group+.menu-sep,div[role=none]+.menu-group{margin-top:4px;padding-top:4px;border-top:1px solid var(--line)}.menu-heading{padding:4px 10px 2px;color:var(--sub);font-size:.75rem;font-weight:700;letter-spacing:.02em}.menu-item-note{flex-shrink:0;color:var(--sub);font-size:.8rem;font-variant-numeric:tabular-nums}.menu-item.is-current .menu-item-note{color:var(--primary-dark);font-weight:700}.schedule-toolbar{flex-wrap:wrap;gap:8px}.schedule-toolbar .segmented{align-self:center}@media print{.schedule-toolbar{display:none}}.schedule-band{margin:0;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 14px;border-radius:12px;background:var(--primary-soft);border:1.5px solid #f2c4b9}.schedule-band .band-text{min-width:0;overflow-wrap:anywhere}.schedule-band .with-icon:has(>.band-text)>svg{flex:none}.schedule-band .reassign-moves-box>summary{cursor:pointer;font-weight:600;font-size:.9rem}.schedule-band .reassign-moves-box[open]>summary{margin-bottom:6px}.range-days{margin:0;padding-left:1.2em;display:grid;gap:2px;font-size:.9rem}.range-days .link-btn{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--primary-dark);cursor:pointer;text-decoration:underline}@media print{.schedule-band.proposal-band{display:none}}.selection-bar{position:sticky;bottom:calc(76px + var(--bottom-tabs-h, 0px));z-index:40;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:#fff;border:2px solid var(--primary);box-shadow:0 6px 24px #00000029}.selection-shift{border:0;margin:0;padding:0;gap:4px;flex-wrap:wrap;align-items:center}@media print{.selection-bar{display:none}}.is-multi{outline:3px solid var(--primary-dark);outline-offset:1px}@media(max-width:600px){.schedule-toolbar{gap:6px}.schedule-toolbar>.btn,.schedule-toolbar .menu-wrap>.btn{padding:6px 10px;font-size:.85rem;min-height:36px}.selection-bar{padding:8px 10px;gap:6px}}@media(max-width:600px){.schedule-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.schedule-toolbar .tb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.schedule-toolbar>.btn,.schedule-toolbar .menu-wrap>.btn{flex:none;min-width:44px;min-height:44px;justify-content:center}.schedule-toolbar .plan-more{margin-left:auto}.selection-bar.is-sheet{position:fixed;left:0;right:0;bottom:var(--bottom-tabs-h);z-index:960;border-radius:16px 16px 0 0;border-width:2px 0 0;padding:12px max(14px,env(safe-area-inset-right,0px)) 12px max(14px,env(safe-area-inset-left,0px));box-shadow:0 -8px 24px #0000002e}.selection-bar.is-sheet>strong{order:0;flex:1 1 auto}.selection-bar.is-sheet>.btn-text{order:1;flex:none!important;min-height:36px!important}.selection-bar.is-sheet>.menu-wrap,.selection-bar.is-sheet>.btn:not(.btn-text){order:2;flex:1 1 40%!important}.selection-bar.is-sheet>.btn,.selection-bar.is-sheet>.menu-wrap{flex:1 1 0;min-height:44px}.selection-bar.is-sheet>.menu-wrap>.btn{width:100%;min-height:44px;justify-content:center;white-space:nowrap;padding-left:8px;padding-right:8px}.selection-bar.is-sheet>.btn{white-space:nowrap;justify-content:center;padding-left:8px;padding-right:8px}body:has(.selection-bar.is-sheet) .app-main{padding-bottom:calc(40px + var(--bottom-tabs-h) + 120px)}}.key-move-band{position:fixed;left:50%;bottom:calc(20px + var(--bottom-tabs-h, 0px));transform:translate(-50%);z-index:45;width:max-content;max-width:calc(100vw - 32px);box-shadow:0 6px 24px #00000029;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 12px;border-radius:12px;background:#fff8e6;border:1.5px solid var(--warn-line);font-size:.9rem}.key-move-band>.with-icon{flex:1 1 260px;min-width:0}@media print{.key-move-band{display:none}}.selection-move,.selection-move-form{gap:6px;align-items:center;flex-wrap:wrap}.selection-move-form input[type=date]{width:auto;padding:4px 6px}.selection-bar.is-inline{position:static;box-shadow:none;border-width:1px}.proposal-changes{margin:4px 0 8px;padding:0;list-style:none;display:grid;gap:4px}.proposal-change{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.proposal-change-visit{font-weight:700}.proposal-change-who{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.proposal-change.is-unplaced{border-color:var(--danger)}.proposal-change.is-unplaced .proposal-change-who{color:var(--danger)}.arrange-title{margin:0;font-size:1rem}.arrange-range-row{flex-wrap:wrap;gap:8px 12px;align-items:center}.arrange-counts{margin:0}.arrange-page{min-width:0}.arrange-page .row{flex-wrap:wrap}.arrange-page .card{min-width:0;overflow-wrap:anywhere}.arrange-page input,.arrange-page select{max-width:100%;min-width:0}.tentative-mark{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:6px;border:1.5px dashed #a46d0a;background:#fbefd6;color:#7a4f05;font-size:.72rem;font-weight:700;line-height:1.5}.tentative-box{gap:8px;padding:10px 12px;border-radius:12px;border:1.5px dashed #a46d0a;background:#fffaf0}.visit-list{display:flex;flex-direction:column;gap:12px}.visit-table .time-cell{display:grid;grid-template-columns:auto 1fr;justify-content:start;justify-items:start;align-items:center;column-gap:6px;row-gap:2px;color:var(--sub)}.visit-table .time-main{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.visit-table .time-tag{grid-column:2;font-size:.75rem;color:var(--sub)}.visit-table .row-unassigned{background:#fefaf1;box-shadow:inset 3px 0 0 var(--warn)}.visit-table .actions{display:inline-flex;gap:4px}.sv-meta{display:flex;flex-wrap:wrap;gap:6px}.sv-time{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.stop .sv-name{font-weight:700;font-size:1.1rem}.leg{display:flex;align-items:center;gap:4px}.avail-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.85rem;color:var(--sub)}.avail-legend .swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:1.5px solid var(--line);vertical-align:-2px;margin-right:4px;background:#faf6f2}.avail-legend .swatch.is-override{border-color:var(--primary);background:#fde3dd}.avail-legend .swatch.is-off{background:#ece5df}.avail-btn .avail-off{display:inline-flex;align-items:center;gap:2px}.avail-absence{display:inline-block;margin-top:2px;padding:0 4px;border-radius:6px;background:#fbe0dc;color:#b3261e;font-size:.7rem;font-weight:700;white-space:nowrap}.visit-table .row-leave td{background:repeating-linear-gradient(135deg,#faf7f4 0 8px,#f3eee9 8px 16px);color:var(--sub)}.rules-table .chip-type{background:var(--primary-soft);color:var(--primary-dark);font-weight:700;margin-bottom:4px}.rules-table td .hint{margin-top:2px}.rules-table td .hint-body{max-width:360px;white-space:normal;line-height:1.5}.hard-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--soft);color:var(--sub);font-size:.85rem;font-weight:700;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;white-space:nowrap}.hard-toggle input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.hard-toggle.is-on{background:var(--primary-soft);border-color:#f4b9ab;color:var(--primary-dark)}.hard-toggle:focus-within{outline:3px solid var(--focus);outline-offset:2px}.rules-table tr.is-draft>td{background:#fffaf0}.rules-table tr.is-draft>td:first-child{box-shadow:inset 4px 0 0 var(--warn-line)}.rules-table tr.is-draft.is-dim{opacity:.75}.draft-mark{display:inline-block;margin-top:4px;font-weight:700;white-space:nowrap}@media(max-width:600px){.rules-table.narrow-cards>tbody>tr.is-draft{background:#fffaf0;border-color:var(--warn-line);box-shadow:inset 4px 0 0 var(--warn-line)}.rules-table.narrow-cards>tbody>tr.is-draft>td:first-child{box-shadow:none}}.rules-draft-bar{position:sticky;bottom:calc(var(--bottom-tabs-h) + 8px);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border:1.5px solid var(--warn-line);border-left-width:6px;border-radius:12px;background:#fffaf0;box-shadow:0 6px 18px #00000024}.rules-draft-text{flex:1 1 240px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0}.rules-draft-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}@media(max-width:600px){.rules-draft-bar{padding:8px 10px}.rules-draft-actions{width:100%;flex-wrap:nowrap}.rules-draft-actions .btn{padding-inline:10px;white-space:nowrap}.rules-draft-actions .btn-primary{flex:1 1 auto;min-width:0;white-space:normal}}@media print{.rules-draft-bar{display:none}}.seed-card{max-width:420px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.seed-card .section-title{margin-bottom:0}.seed-input{max-width:160px;padding:6px 10px}.items-table td{vertical-align:top}.badge-count{display:inline-flex;align-items:baseline;gap:1px;min-width:28px;justify-content:center;padding:1px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-weight:700;font-size:.9rem}.badge-count small{font-size:.7rem;font-weight:600}.opt-chips{display:flex;flex-wrap:wrap;gap:6px}.opt-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 3px 2px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line);white-space:nowrap}.opt-chip .icon-btn{width:24px;height:24px;border-radius:50%;border-color:transparent;background:transparent}@media(pointer:coarse){.opt-chip .icon-btn:before{inset:-10px}.opt-chip .icon-btn+.icon-btn{margin-left:16px}}.opt-chip .icon-btn svg{width:13px;height:13px}.opt-count{min-width:18px;padding:0 5px;border-radius:999px;background:#fff;color:var(--sub);font-size:.72rem;text-align:center}.opt-edit,.opt-add{display:flex;align-items:center;gap:6px}.opt-edit input,.opt-add input{padding:5px 10px;min-width:0;flex:1 1 100px}.opt-add .btn{flex-shrink:0;white-space:nowrap}.compat-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.compat-legend-item{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.8rem;white-space:nowrap;background:#f3ebe4}.compat-legend-item b{font-size:.95rem}.compat-legend-item.lv2,.compat-legend-item.lv1{background:#e1f1e7;color:var(--ok-ink)}.compat-legend-item.lvm1{background:#fbefd6;color:var(--warn-ink)}.compat-legend-item.lvm2{background:#fbe1dd;color:var(--danger)}.compat-table .compat-head{vertical-align:bottom;padding-bottom:6px}.compat-head-name{font-size:.72rem;line-height:1.2}.people-table td{vertical-align:middle}.people-table .person-name{font-weight:700;white-space:nowrap}.person-main{display:flex;flex-direction:column;line-height:1.25;min-width:0}.person-sub{color:var(--sub);font-size:.72rem;font-weight:400;max-width:14em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-table .actions{justify-content:flex-start}.warn-box{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius);background:#fbefd6;border:1px solid #f0d9a6;color:#7a5208}.warn-box svg{flex-shrink:0;margin-top:2px;color:var(--warn-ink)}.warn-box p{margin:0;line-height:1.6}.data-tidy:focus{outline:3px solid var(--focus);outline-offset:2px}@media(max-width:600px){.opt-edit,.opt-add{flex-wrap:nowrap}}.people-table th,.items-table th{white-space:nowrap}.items-table select{min-width:150px}.people-table td.cond-cell{min-width:140px}.preset-edit{border:1px solid var(--line);border-radius:14px;padding:8px 12px;background:var(--soft)}.preset-edit summary{display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0}.preset-edit .preset-no{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#f3ebe4;color:var(--sub);font-size:.75rem;font-weight:700;flex-shrink:0}.preset-edit .rules-table td:first-child{white-space:nowrap}.th-note{margin-left:4px;font-weight:400;font-size:.8em;color:var(--sub)}.score-ruler{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:0}.score-ruler legend{display:inline-flex;align-items:center;gap:4px;padding:0 4px;font-weight:600}.score-ruler-option{display:inline-flex;flex-direction:row;align-items:center;gap:6px;cursor:pointer}.score-ruler-option input{width:auto;margin:0}.pattern-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pattern-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1.5px solid var(--line);border-radius:12px;background:var(--soft)}.pattern-row .actions{display:inline-flex;gap:4px;flex-shrink:0}.pattern-form{border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;margin:0}.pattern-form legend{font-weight:700;padding:0 6px}.weekday-toggles{display:flex;gap:6px;flex-wrap:wrap}.weekday-toggle{min-width:40px;height:36px;border-radius:10px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.weekday-toggle.is-on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}.weekday-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}fieldset.weekday-toggles{border:0;padding:0;margin:0}.month-week-toggle{min-width:52px}.pattern-daytimes{display:grid;gap:6px;padding:8px 10px;border:1px dashed var(--line);border-radius:10px}.pattern-daytime{gap:10px;align-items:center}.pattern-daytime-day{width:2.5em}.pattern-daytime-col{width:9.5em}.pattern-daytime-col input{width:100%}.leave-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.leave-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.leave-form{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.leave-warn{border-left:4px solid #d98a00;background:#fff7e6;padding:8px 10px;border-radius:8px}.leave-warn ul{margin:4px 0 0;padding-left:1.2em}.link-button{border:0;background:none;padding:0;color:var(--primary-dark);text-decoration:underline;font:inherit;cursor:pointer}.chip-limit{background:#e8eef8;color:#3e5a8a;margin-left:4px}.stage-chip.is-active{background:#e1f1e7;color:var(--ok-ink)}.stage-chip.is-ended{background:#eee;color:#777}.stage-chip.is-inquiry,.stage-chip.is-meeting,.stage-chip.is-contract{background:#e6eef9;color:#2f5f9e}.offboard-days{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.offboard-day-btn{display:inline-flex;gap:8px;padding:5px 10px;border:2px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:.85rem;cursor:pointer}.offboard-day-btn:hover{border-color:#d9c8bb}.offboard-table select{max-width:100%}.leaving-card{border-left:6px solid #5b4a8a}.leaving-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.leaving-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chip-lastday{background:#ece7f6;color:#5b4a8a}.compat-head-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:44px;margin:0 auto;padding:2px 2px 3px;border:1px solid transparent;border-radius:8px;background:none;font:inherit;color:inherit;cursor:pointer}.compat-head-btn:hover,.compat-head-btn[aria-expanded=true]{border-color:var(--line);background:var(--primary-soft)}.compat-head-btn:focus-visible,.compat-client-btn:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.compat-head-line{display:block;white-space:nowrap}.compat-client-btn{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;padding:2px 6px 2px 2px;border:1px solid transparent;border-radius:8px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.compat-client-btn:hover,.compat-client-btn[aria-expanded=true]{border-color:var(--line);background:var(--primary-soft)}.compat-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}@media(min-width:1100px){.compat-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.compat-filter{padding-top:10px;padding-bottom:10px}.compat-filter[open]>summary{margin-bottom:10px}.compat-filter-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;cursor:pointer}.compat-filter-title{font-weight:700;font-size:.95rem}.compat-resort{margin-left:auto}.compat-scroll{max-height:calc(100vh - 120px);overflow:auto}.compat-table thead th{position:sticky;top:0;z-index:2;background:var(--card)}.compat-table thead th.avail-name{left:0;z-index:3}.rules-advanced-summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:700}.rules-advanced p{margin:0}.data-tidy-month{align-items:flex-start}.data-tidy-month select{width:auto;max-width:100%}.data-prev-text,.data-last-export{margin:0}.rule-name{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0}.rule-name-text{overflow-wrap:anywhere}.rule-rename{padding:4px 6px}@media(max-width:600px){.compat-table .avail-name,.avail-table .avail-name{white-space:normal;width:7em;min-width:7em;max-width:7em;line-height:1.25;word-break:keep-all;overflow-wrap:anywhere}.compat-client-btn{gap:4px;padding-right:2px}.compat-client-btn .dot{display:none}.compat-client-btn .ellipsis{white-space:normal;overflow:visible;word-break:keep-all;overflow-wrap:anywhere}}.standard-steps{list-style:none;padding:0;margin:0}.standard-steps h2{font-size:1.05rem;margin:0}.standard-steps h2:focus{outline:none}.standard-steps h2:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.standard-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.standard-card h3{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:1rem}.standard-stats{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:8px 0}.standard-stats dt{color:var(--sub)}.standard-stats dd{margin:0;font-variant-numeric:tabular-nums}.standard-view-title{font-size:.95rem;margin:0}.standard-card-actions{flex-wrap:wrap;gap:6px}.standard-day-view{gap:8px;min-width:0;scroll-margin-top:80px}.standard-day-tabs{display:flex;flex-wrap:wrap;gap:6px}.standard-day-tabs .is-on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.standard-table-scroll{position:relative;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.standard-table{border-collapse:collapse;min-width:100%;font-size:.9rem}.standard-table th,.standard-table td{border:1px solid var(--line);padding:4px 6px;vertical-align:top;text-align:left}.standard-table thead th{background:var(--soft);white-space:nowrap;text-align:center}.standard-table tbody th{position:sticky;left:0;z-index:1;background:var(--card);min-width:9em;max-width:14em;font-weight:400}.standard-row-name{display:block;font-weight:600}.standard-row-when{display:block;color:var(--sub);font-size:.8rem}.standard-table td{min-width:6.5em}.standard-cell-none{color:var(--sub);text-align:center;background:var(--soft)}.standard-table td.is-changed{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.standard-cell-btn,.standard-cell-read{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;min-height:44px;text-align:left}.standard-cell-btn{border:0;background:transparent;padding:2px;font:inherit;color:inherit;cursor:pointer;border-radius:6px}.standard-cell-btn:hover{background:#0000000a}.standard-cell-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.standard-cell-btn[aria-expanded=true]{outline:2px solid var(--primary)}.standard-cell-staff{font-weight:600}.standard-cell-time{color:var(--sub);font-variant-numeric:tabular-nums}.standard-changed-tag{display:inline-block;font-size:.72rem;line-height:1.4;padding:0 6px;border-radius:999px;border:1px solid var(--primary-dark);color:var(--primary-dark);background:var(--card)}.standard-edit-row>td{background:var(--soft)}.standard-editor{position:sticky;left:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;max-width:min(100%,calc(100vw - 64px))}.standard-editor-title{flex-basis:100%;margin:0;font-weight:600}.standard-editor .sub,.standard-editor .error{flex-basis:100%;margin:0}.standard-temp{border:1px solid var(--line);border-left:4px solid var(--warn-line);border-radius:12px;padding:8px 12px;margin:0}.standard-temp legend{padding:0 4px}.standard-choice{display:flex;gap:8px;align-items:flex-start}.standard-choice>span{display:flex;flex-direction:column}.standard-temp-list{margin:4px 0 0;padding-left:1.2em;font-size:.9rem}.standard-done{border-left:4px solid var(--ok);padding-left:12px}.standard-done p{margin:0}.standard-page .warn{border-left:4px solid var(--warn-line);padding-left:8px}.standard-table td.is-changed-time{background:var(--soft);box-shadow:inset 3px 0 0 var(--line-strong)}.standard-table td.is-changed-time .standard-changed-tag{border-color:var(--line-strong);color:var(--sub)}.basics-cell>span,.basics-cell>.basics-time{display:block}.basics-time{font-variant-numeric:tabular-nums;font-weight:600;min-height:24px;text-align:left}.basics-cell>.basics-staff{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.basics-table td.is-issue{box-shadow:inset 3px 0 0 var(--warn-line)}.basics-issue{font-size:.8rem}.basics-compat{display:inline-block;min-width:1.4em;padding:0 4px;border-radius:6px;text-align:center;font-size:.8rem}.basics-compat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.basics-compat-list li{display:flex;align-items:center;gap:4px;white-space:nowrap}.person-page{min-width:0}.person-state{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.person-tabs{position:relative;overflow-x:auto;scrollbar-width:thin}.person-tabs .view-switch-item{flex-shrink:0;white-space:nowrap}.person-tabs .view-switch-item.is-disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.person-tabs .view-switch-item{padding:5px 10px}}.person-schedule{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.person-schedule-side{display:flex;flex-direction:column;gap:12px;min-width:0}.person-schedule-main{min-width:0}@media(max-width:1100px){.person-schedule{grid-template-columns:minmax(0,1fr)}}.person-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:16px;align-items:start}.person-sec.is-editing{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.person-sec dl{margin:0}.person-sec-foot{flex-wrap:wrap;gap:8px;align-items:center}.person-list{margin:0;padding-left:1.2em}.person-list li+li{margin-top:4px}.pattern-row.is-selected{border-color:var(--primary);background:var(--primary-soft)}.pattern-pick{flex:1 1 auto;min-width:0;flex-wrap:wrap;gap:6px;padding:4px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.pattern-pick:disabled{cursor:default}.pattern-pick:focus-visible{outline:3px solid var(--focus)}@media print{.person-tabs,.person-sec .section-aside,[data-testid=person-back],[data-testid=to-staff-view],[data-testid=patterns-section] .section-aside,.pattern-row .actions,[data-testid=leaves-section] .section-aside,.leave-row .actions,[data-testid=to-leaves],[data-testid=to-workload],[data-testid=to-sudden],[data-testid=leaving-open]{display:none!important}.person-schedule{grid-template-columns:minmax(0,1fr)}}.pattern-row{flex-wrap:wrap}.pattern-row>.pattern-form{flex-basis:100%}.person-subhead{margin:0;font-size:1rem;font-weight:700}.person-subhead .with-icon{display:inline-flex;white-space:normal}@media(max-width:600px){.person-schedule-main{order:-1}}.person-view dl{display:grid;grid-template-columns:minmax(7em,auto) 1fr;gap:6px 14px;margin:0}.person-view dt{color:var(--sub)}.person-view dd{margin:0;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.person-view .detail-popover-list{margin:0;padding:0;list-style:none}.person-view-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.person-view-list li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.person-view .person-view-names{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;white-space:normal}.person-view .person-view-name{min-width:0}.place-lookup-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.place-postal input{width:9em}.place-notice{font-size:.82rem}.place-status{display:block;margin:0;min-height:1.2em;font-size:.9rem}.place-status.is-error{color:var(--danger, #c0392b);font-weight:600}.place-status.is-ok{color:#2f6f4c}.place-candidate.is-on{border-color:var(--ink);font-weight:600}.place-all-progress{accent-color:var(--primary-dark);width:min(320px,100%)}.place-all-fails{margin:0;padding-left:1.2em}.place-all-fails li{margin:2px 0}.vmarks{display:inline-flex;flex:none;align-items:center;gap:2px}.vmark{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 2px;border-radius:4px;background:#ffffffe6;color:var(--ink);font-size:.62rem;font-weight:700;line-height:1;white-space:nowrap}.vmark.is-red{color:#fff;background:var(--danger)}.vmark.is-warn{color:#7a4f05;background:#fbefd6}.vmark.is-pin{color:var(--primary-dark)}.vmark.is-plain{border:1px solid var(--line-strong)}.vrow-marks .vmark{min-width:24px;height:24px;border-radius:6px;font-size:.75rem}.vrow-marks .vmark.is-pin{background:var(--primary-soft)}.vrow{width:100%;min-height:56px;display:flex;align-items:center;gap:10px;padding:8px 12px 8px 10px;border:0;border-left:4px solid var(--line-strong);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.vrow:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.vrow.is-issue{background:#fff4f2}.vrow.is-off{opacity:.65}.vrow.is-off .vrow-title{text-decoration:line-through}.vrow.is-multi{background:var(--primary-soft);outline:2px solid var(--primary-dark);outline-offset:-2px}.vrow-check{flex:none;display:flex;color:var(--primary-dark)}.vrow-time{flex:none;width:6.6em;font-weight:700;font-variant-numeric:tabular-nums;font-size:.85rem;white-space:nowrap}.vrow-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.vrow-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vrow-staff{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--sub);min-width:0;overflow:hidden;white-space:nowrap}.vrow-none{color:var(--danger);font-weight:700}.vrow-list{list-style:none;margin:0;padding:0}.vrow-list>li+li{border-top:1px solid var(--line)}.vdrop{pointer-events:none;z-index:3;border:2px dashed var(--primary);border-radius:6px;background:var(--primary-soft);color:var(--primary-dark);font-size:.7rem}.vdrop.is-warn{border-color:var(--danger);background:#fff1ee;color:var(--danger)}.vdrop.is-ng{border-color:var(--line-strong);background:repeating-linear-gradient(135deg,#f4f1ee 0 6px,#ebe6e1 6px 12px);color:var(--sub)}.vdrop-text{display:inline-block;padding:0 4px;border-radius:4px;background:#fff;font-weight:700;line-height:1.35}@media print{.vdrop{display:none}}.select-toggle{flex:none;white-space:nowrap;gap:4px}.select-toggle.is-on{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft)}.vchips{position:relative;display:flex;flex-direction:column;gap:2px;margin-top:4px}.vchip-slot{display:flex}.vchip{display:flex;align-items:center;gap:3px;width:100%;min-height:22px;padding:1px 3px 1px 4px;border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:4px;background:#fff;font:inherit;font-size:.72rem;line-height:1.2;color:inherit;text-align:left;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.vchip:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.vchip.is-issue{border-color:var(--danger);background:#fff4f2}.vchip.is-unassigned{border-style:dashed;border-left-style:solid}.vchip.is-off{opacity:.6;cursor:default}.vchip.is-off .vchip-short{text-decoration:line-through}.vchip.is-multi{background:var(--primary-soft)}.vchip-time{flex:none;font-weight:700;font-variant-numeric:tabular-nums}.vchip-short{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;overflow:hidden;white-space:nowrap}.vchip-more{align-self:flex-start;min-height:22px;padding:0 8px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.vchip-more:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.vchip-more[aria-expanded=true]{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft)}.vchip-list{position:fixed;z-index:900;width:min(300px,80vw);max-height:320px;overflow:auto;border:1px solid var(--line-strong);border-radius:10px;background:#fff;box-shadow:0 8px 24px #0000002e}.vchip-list.is-up{transform:translateY(-100%)}.vchip-list.is-dragging{opacity:.35;pointer-events:none}.vchip-list-title{margin:0;padding:8px 12px 4px;font-size:.8rem;font-weight:700}.vchip-list .vrow{min-height:44px}@media print{.vchip-more{border:0;padding:0}.vchip-list{display:none}.vchip{min-height:0}}.pcal{display:flex;flex-direction:column;gap:8px;min-width:0}.pcal-tools{flex-wrap:wrap;gap:8px;align-items:center}.pcal-nav{gap:4px;align-items:center}.pcal-title{min-width:11em;text-align:center}.pcal-views{align-self:center}.pcal-legend,.pcal-howto,.pcal-hl-note{margin:0}.pcal-chip{font-size:.7rem;padding:0 6px}.pcal-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;overflow:hidden;padding:2px 5px;border:2px solid rgba(59,47,42,.22);border-radius:6px;background:#f1e8e1;color:var(--ink);font:inherit;font-size:.72rem;line-height:1.25;text-align:left;cursor:pointer}.pcal-item[draggable=true]{cursor:grab}.pcal-item:hover,.pcal-item:focus-visible{outline:3px solid var(--focus);outline-offset:0;z-index:3}.pcal-item-time,.pcal-item-who{display:inline-flex;align-items:center;gap:3px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcal-item-time{font-weight:700}.pcal-item .vmark{min-width:13px;height:13px;font-size:.58rem}.pcal-item.is-issue{border-color:var(--danger)}.pcal-cell{position:relative}.pcal-cdrop{position:absolute;left:4px;right:4px;bottom:4px;padding:2px}.pcal-item.is-unassigned{border-color:var(--danger);background:#fbeceb}.pcal-item.is-cancelled,.pcal-item.is-sameDay,.pcal-item.is-leave{border-style:dashed;background:#fff;color:var(--sub)}.pcal-item.is-cancelled .pcal-item-time,.pcal-item.is-sameDay .pcal-item-time{text-decoration:line-through}.pcal-item.is-hl{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft);background:#fde7e1}.pcal-item.is-dim{opacity:.45}.pcal-week{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));gap:4px}.pcal-week-head{min-width:0;font-size:.8rem}.pcal-day-head{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.pcal-day-date.is-today{padding:0 6px;border-radius:999px;background:var(--primary);color:#fff;font-weight:700}.pcal-gutter{position:relative}.pcal-hour{position:absolute;right:2px;transform:translateY(-50%);font-size:.7rem;color:var(--sub)}.pcal-col{position:relative;border:1px solid var(--line);border-radius:8px;background-color:#fff;background-image:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent 48px);touch-action:pan-y}.pcal-col.is-past{background-color:var(--soft)}.pcal-col.can-add{cursor:copy}.pcal-col .pcal-item{position:absolute;z-index:1}.pcal-drop,.pcal-ghost{position:absolute;left:2px;right:2px;z-index:2;padding:0 4px;border:2px dashed var(--primary);border-radius:6px;background:#fde7e1cc;font-size:.7rem;pointer-events:none}.pcal-month{display:flex;flex-direction:column;gap:4px}.pcal-month-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.pcal-cell{display:flex;flex-direction:column;gap:3px;min-width:0;min-height:92px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff}.pcal-cell.is-out{opacity:.55}.pcal-cell.is-past{background:var(--soft)}.pcal-cell.is-today{border:2px solid var(--primary)}.pcal-cell.is-drop{outline:2px dashed var(--primary)}.pcal-cell-head{display:flex;flex-wrap:wrap;gap:3px;align-items:center;font-size:.75rem}.pcal-cell-day{font-weight:700}.pcal-cell-add{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:auto;padding:0;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--sub);cursor:pointer}.pcal-cell-add:focus-visible,.pcal-cell-add:hover{outline:3px solid var(--focus)}.pcal-cell-items{display:flex;flex-direction:column;gap:2px;min-width:0}.pcal-item.is-compact{flex-direction:row;flex-wrap:wrap;column-gap:4px;width:100%}.pcal-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.pcal-list-day{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff}.pcal-list-items{margin:0 -8px -6px;border-top:1px solid var(--line)}.pcal-row.is-hl{background:#fde7e1}.pcal-row.is-dim{opacity:.45}@media print{.pcal-tools button,.pcal-tools fieldset,.pcal-howto,.pcal-cell-add{display:none!important}}.pcal-notice{gap:6px;padding:10px 12px;border:2px solid var(--warn);border-radius:12px;background:#fffaf0}@media print{.pcal-notice{display:none!important}}fieldset.pick-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;border:0;min-width:0}.pick-chips-legend{float:left;margin-right:4px;padding:0;font-size:.85rem;color:var(--sub)}.pick-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px 3px 6px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--sub);font:inherit;font-size:.8rem;white-space:nowrap;cursor:pointer}.pick-chip:hover,.pick-chip:focus-visible{border-color:var(--primary)}.pick-chip.is-on{background:var(--soft);border-color:#cdbcb0;color:var(--ink)}.pick-chip-check{display:inline-block;width:1em;text-align:center;font-weight:700}.pick-chip-color{display:inline-block;width:10px;height:10px;border-radius:50%}.pick-chip.is-strong{position:relative;border-color:var(--ok);box-shadow:0 0 0 1px var(--ok);background:#e1f1e7;color:var(--ink)}.pick-chip.is-dim{opacity:.55}.pick-chip-strong{position:absolute;top:-9px;right:-4px;padding:0 5px;border-radius:999px;background:var(--ok-ink);color:#fff;font-size:.65rem;line-height:1.4;pointer-events:none}.pick-badges{display:inline-flex;gap:2px;margin-left:4px}abbr.pick-badge{padding:0 4px;border:1px solid #b9a79a;border-radius:4px;background:#fff;color:var(--ink);font-size:.68rem;font-weight:400;text-decoration:none;cursor:help}.pick-chip-wrap{position:relative;display:inline-flex}.pick-chip-wrap>.pick-chip{padding-right:20px}.pick-chip-wrap>.person-info{position:absolute;top:50%;right:2px;width:17px;height:17px;transform:translateY(-50%)}@media(pointer:coarse){.pick-chip-wrap>.person-info:before{inset:-6px -4px}}@media print{.pick-chip-wrap>.pick-chip{padding-right:10px}}.client-filter{gap:8px;min-width:0}.client-filter-top{flex-wrap:wrap;align-items:flex-end;gap:12px}.client-filter-search{display:flex;flex-direction:column;gap:4px}.client-filter-label{font-size:.85rem;color:var(--sub)}.client-filter-box{position:relative}.client-filter-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--sub);pointer-events:none}.client-filter-box input{padding:6px 10px 6px 30px;min-width:14em}.client-filter-ended{align-self:center;font-size:.85rem}.client-filter-chip.is-on{border-color:var(--primary);background:var(--primary-soft);font-weight:700}.client-filter-chip.is-empty{opacity:.45;cursor:not-allowed}.client-filter-chip.is-empty:hover,.client-filter-chip.is-empty:focus-visible{border-color:var(--line)}.client-filter-count{min-width:1.4em;padding:0 4px;border-radius:999px;background:var(--soft);font-size:.72rem;font-weight:400;text-align:center}.client-filter-towns{padding-left:12px;border-left:3px solid var(--soft)}.client-filter-staff{gap:4px}.client-filter-staff select{padding:2px 6px;font-size:.8rem}@media(max-width:860px){.client-filter-staff select{font-size:16px}}.file-pick{display:flex;flex-direction:column;gap:4px;min-width:0}.file-pick-caption{font-size:.9rem;color:var(--sub)}.file-pick-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}.file-pick-hit{position:relative;display:inline-flex}.file-pick-input{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;margin:0;opacity:0;cursor:pointer;font-size:0}.file-pick-input:disabled{cursor:not-allowed}.file-pick-input:hover:not(:disabled)+.file-pick-btn{border-color:#d9c8bb}.file-pick-btn{display:inline-flex;flex-direction:row;align-items:center;font-size:1rem;color:var(--ink);gap:6px;cursor:pointer}.file-pick-input:focus-visible+.file-pick-btn{outline:3px solid var(--focus);outline-offset:2px}.file-pick-input:disabled+.file-pick-btn{opacity:.5;cursor:not-allowed}.file-pick-name{min-width:0;overflow-wrap:anywhere;font-size:.9rem}.term{position:relative;display:inline;padding:0;margin:0;border:0;background:none;font:inherit;color:inherit;text-align:inherit;cursor:help}.term-i{position:relative;display:inline-block;margin-left:2px;color:var(--sub);vertical-align:-.12em;line-height:1}.term .term-i svg{width:1em;height:1em;display:inline-block;vertical-align:top;color:inherit}.term:hover .term-i,.term:focus-visible .term-i{color:var(--ink)}@media(pointer:coarse){.term-i:after{content:"";position:absolute;left:50%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%)}}.term:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}.term-tip{position:fixed;top:0;left:0;z-index:1150;width:max-content;max-width:min(300px,calc(100vw - 16px));overflow-y:auto;padding:8px 10px;background:#3b2a20;color:#fff;border-radius:8px;box-shadow:0 8px 20px #28190f40;font-size:.8rem;font-weight:400;line-height:1.55;text-align:left;white-space:normal}.term-tip[hidden]{display:none}.term-tip ul{margin:4px 0 0;padding-left:1.1em}.term-tip strong{display:block}@media print{.term-i{display:none}.term-tip{display:none!important}}.home-section-title{margin:0;font-size:1rem;color:var(--sub)}.home-tasks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}.home-tasks>li{display:flex}.home-task{flex:1;display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--ink);text-decoration:none;border-left:6px solid var(--line);transition:border-color .15s,box-shadow .15s}.home-task:hover{box-shadow:0 2px 4px #50321e14,0 10px 24px #50321e14}.home-task:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.home-task-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--bg);color:var(--sub)}.home-task-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.45}.home-task-text .sub{font-size:.86rem}.home-task-go{flex:none;color:var(--sub)}.home-task.is-warn{border-left-color:var(--danger)}.home-task.is-warn .home-task-icon{background:#fbe4e0;color:var(--danger)}.home-task.is-todo{border-left-color:var(--accent)}.home-task.is-todo .home-task-icon{background:var(--primary-soft);color:var(--primary-dark)}.home-task.is-info{border-left-color:var(--ok)}.home-task.is-info .home-task-icon{background:#e3f2e8;color:var(--ok-ink)}.home-tasks>li.is-lead{grid-column:1 / -1}.home-task.is-lead{padding:18px 22px;gap:16px;background:var(--primary);border:2px solid var(--primary);border-left-width:2px;color:#fff;box-shadow:0 4px 0 var(--primary-dark)}.home-task.is-lead:hover{background:var(--primary-hover);border-color:var(--primary-dark);box-shadow:0 4px 0 var(--primary-dark),0 10px 24px #50321e1f}.home-task.is-lead:focus-visible{outline-offset:4px}.home-task.is-lead .home-task-icon{width:46px;height:46px;background:#fff;color:var(--primary-dark)}.home-task.is-lead .home-task-text strong{font-size:1.2rem}.home-task.is-lead .home-task-text .sub,.home-task.is-lead .home-task-go{color:#fff}.home-lead-badges{display:flex;flex-wrap:wrap;gap:6px}.home-lead-badge{align-self:flex-start;padding:1px 10px;border-radius:999px;background:#fff;color:var(--primary-dark);font-size:.78rem;font-weight:700}.home-task.is-lead.is-warn{border-left:10px solid var(--danger)}.home-task.is-lead.is-warn .home-task-icon{color:var(--danger)}.home-lead-badge.is-warn{background:#fbe4e0;color:var(--danger);border:1px solid var(--danger)}.home-ready{margin:0;display:flex;align-items:center;gap:10px;color:var(--ok-ink);border-left:6px solid var(--ok)}.home-ready strong{color:var(--ink)}.home-quick{display:flex}.home-task.is-first .home-task-icon{background:var(--primary-soft);color:var(--primary)}@media print{.home-page{display:none}}.home-section-sub{margin:4px 0 0;font-size:.92rem;color:var(--sub)}.home-visits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:6px}.home-visit{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.home-visit.is-warn{border-left-color:var(--danger)}.home-visit:hover{background:#faf6f2}.home-visit-time{flex:none;font-variant-numeric:tabular-nums;font-weight:700}.home-visit-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-visit-staff{flex:none;display:inline-flex;align-items:center;gap:4px}button.home-task{border-top:0;border-right:0;border-bottom:0;font:inherit;text-align:left;cursor:pointer}@media print{.home-visits{display:none}}@page monthprint{size:A4 landscape;margin:7mm}.mprint{page:monthprint;padding:16px;background:#fff;color:#222;min-height:100vh}.mprint-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.mprint-pick{display:inline-flex;align-items:center;gap:6px}.mprint-pick select{width:auto}.mprint-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:4px}.mprint-head h1{font-size:16pt;margin:0}.mprint-org{font-weight:700}.mprint-legend{font-size:8pt;color:#555}.mprint-grid{width:100%;border-collapse:collapse;table-layout:fixed;font-size:7.5pt;line-height:1.25}.mprint-grid th{border:1px solid #888;background:#eee;padding:1px;font-size:8pt}.mprint-grid th.mprint-sun,.mprint-cell.mprint-sun .mprint-date{color:#b3261e}.mprint-grid th.mprint-sat,.mprint-cell.mprint-sat .mprint-date{color:#1f5fa8}.mprint-grid tr{break-inside:avoid;page-break-inside:avoid}.mprint-cell{border:1px solid #888;vertical-align:top;padding:2px 3px;height:22mm;overflow:hidden}.mprint-cell.is-out{background:#f3f3f3}.mprint-day{display:flex;align-items:baseline;gap:4px;border-bottom:1px dotted #bbb;margin-bottom:1px}.mprint-date{font-size:10pt;font-weight:700}.mprint-src{font-size:7pt;border:1px solid #777;border-radius:3px;padding:0 2px}.mprint-count{margin-left:auto;color:#555}.mprint-list{list-style:none;margin:0;padding:0}.mprint-list li{display:flex;gap:3px;align-items:baseline;white-space:nowrap;overflow:hidden}.mprint-dot{flex:none;width:5px;height:5px;border-radius:50%;align-self:center;print-color-adjust:exact;-webkit-print-color-adjust:exact}.mprint-time{flex:none;font-variant-numeric:tabular-nums}.mprint-client{overflow:hidden;text-overflow:ellipsis;min-width:0}.mprint-staff{margin-left:auto;flex:none;font-weight:700}.mprint-off,.mprint-leave{margin-top:1px;border-top:1px dotted #bbb;color:#444;white-space:normal}.mprint-off .is-requested,.mprint-off .is-absent{font-weight:700}.mprint-leave{color:#6b4b00}html:has(.mprint),body:has(.mprint){background:#fff}@media print{.mprint .no-print,body:has(.mprint) .toast{display:none!important}.mprint{padding:0;min-height:0}}.mprint-src.is-none{border-style:dashed;color:#666}.mprint-grid tbody tr:hover td{background:#fff}.mprint-grid tbody tr:hover td.is-out{background:#f3f3f3}.mprint-pending{margin-top:1px;color:#8a4b00;font-weight:700}.col-head{display:inline-flex;align-items:center;gap:6px;min-width:0}.col-head+.chip{flex-shrink:0}.col-hours{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.item-time{display:inline-flex;align-items:center;gap:4px}.col-focus{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;margin-left:-6px;border:0;border-radius:8px;background:none;font:inherit;font-weight:700;color:inherit;cursor:pointer}.col-focus:hover,.col-focus[aria-pressed=true]{background:var(--primary-soft)}.col-focus-icon{color:var(--sub);opacity:0}.col-focus:hover .col-focus-icon,.col-focus[aria-pressed=true] .col-focus-icon{opacity:1;color:var(--primary)}.route-col.is-focus{box-shadow:0 0 0 2px var(--primary)}.route-col.is-dim-col{opacity:.55}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-line{display:inline-block;width:22px;height:4px;border-radius:2px}.legend-line-ink{background:var(--ink)}.legend-line.is-dashed{height:0;border-top:3px dashed currentColor;border-radius:0}.legend-btn{border:1px solid transparent;background:none;font:inherit;color:inherit;cursor:pointer;border-radius:999px;padding:2px 8px}.legend-btn:hover,.legend-btn.is-on{border-color:var(--primary);background:var(--primary-soft)}.leg-btn{display:inline-flex;align-items:center;padding:1px 6px;margin-left:-6px;border:1px solid transparent;border-radius:999px;background:none;font:inherit;color:inherit;cursor:pointer}.leg-btn:hover,.leg-btn.is-on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.map-pin-hl{width:40px;height:40px;font-size:1rem;outline:3px solid var(--primary);outline-offset:2px;animation:pin-pulse 1.4s ease-out infinite}@keyframes pin-pulse{0%{box-shadow:0 0 #e8735f8c}to{box-shadow:0 0 0 14px #e8735f00}}.tl-scroll{overflow-x:auto;padding-bottom:4px}.tl-grid{display:grid;grid-template-rows:auto auto;column-gap:8px;row-gap:0;min-width:min-content}.tl-corner{grid-row:1;grid-column:1}.tl-gutter{grid-row:2;grid-column:1;position:sticky;left:0;z-index:4;background:var(--card)}.tl-hour{position:absolute;right:6px;transform:translateY(-50%);font-size:.72rem;color:var(--sub)}.route-col.tl-col{grid-row:1 / span 2;display:grid;grid-template-rows:subgrid;gap:0;padding:0;overflow:visible}.tl-head{display:flex;flex-direction:column;gap:6px;padding:10px 10px 8px;min-width:0}.tl-body{position:relative;margin:0 6px 8px;border-radius:8px;border:1px solid var(--line);background-color:#fff;background-image:linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px);background-repeat:repeat-y}.tl-bg{position:absolute;left:0;right:0;pointer-events:none}.tl-bg.is-off{background:#8a7a7029}.tl-bg.is-absent{background:repeating-linear-gradient(-45deg,#c94a3a2e 0 6px,#ffffff80 6px 12px);border-top:1px dashed var(--danger);border-bottom:1px dashed var(--danger)}.tl-absent-label{position:absolute;top:4px;right:6px;padding:0 6px;border-radius:6px;background:#fff;color:var(--danger);font-size:.72rem;font-weight:700}.tl-empty{position:absolute;top:8px;left:8px;right:8px;font-size:.78rem}.tl-band{position:absolute;left:4px;right:4px;display:flex;overflow:hidden;border:1.5px solid rgba(59,47,42,.3);border-radius:6px;background:#e2d8cf;color:var(--ink);cursor:grab;z-index:2}.tl-band.is-red{border:2.5px solid var(--danger)}.tl-band.is-pinned{border-color:var(--primary-dark);border-style:solid}.tl-band.is-picked{outline:3px solid var(--primary);outline-offset:1px;z-index:3}.tl-band.is-dragging{opacity:.4}.tl-band-btn{display:flex;flex-direction:column;width:100%;min-width:0;padding:1px 5px;font-size:.72rem;line-height:1.25;text-align:left;cursor:inherit}.tl-band-btn:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.tl-band-line{display:flex;align-items:center;gap:4px;min-width:0}.tl-band-time{font-weight:700;white-space:nowrap}.tl-band-marks{display:inline-flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.tl-band-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-mark{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 2px;border-radius:4px;background:#ffffffd9;color:var(--ink);font-size:.62rem;font-weight:700;line-height:1}.tl-mark.is-red{color:#fff;background:var(--danger)}.tl-mark.is-warn{color:#7a4f05;background:#fbefd6}.tl-mark.is-pin{color:var(--primary-dark)}.tl-mark.is-move{color:#fff;background:#4a78b5}.tl-mark.is-tentative{border:1px dashed #a46d0a;color:#7a4f05;background:#fbefd6}.tl-detail{position:absolute;left:0;width:max(100%,260px);z-index:6;display:flex;flex-direction:column;gap:6px;padding:8px;border:1.5px solid var(--primary);border-radius:10px;background:var(--card);box-shadow:0 6px 18px #3b2f2a2e}.tl-detail.is-right{left:auto;right:0}.tl-leg{position:absolute;left:16px;right:4px;border-left:2px solid var(--sub);display:flex;align-items:center;z-index:2;pointer-events:none}.tl-leg.is-drive{z-index:3}.tl-leg.is-fromHome{align-items:flex-end}.tl-leg.is-toHome{align-items:flex-start}.tl-leg.is-on{border-left-color:var(--primary);border-left-width:3px}.tl-leg-btn.leg-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:0 6px;border-radius:999px;font-size:.66rem;line-height:1.4;white-space:nowrap;background:var(--card)}.tl-wait{position:absolute;left:8px;right:8px;border:1.5px dotted var(--sub);border-radius:6px;z-index:1;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}.tl-wait-label{padding:0 4px;font-size:.64rem;color:var(--sub)}.tl-shadow{position:absolute;left:2px;right:2px;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding-top:2px;border:2.5px dashed;border-radius:6px;font-size:.72rem;font-weight:700;pointer-events:none}.tl-shadow.is-ok{border-color:var(--ok);background:#5aa57a29;color:#2f6e4a}.tl-shadow.is-ng{border-color:var(--danger);background:#c94a3a1f;color:var(--danger)}.tl-head .spread{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:4px 6px}.tl-head .col-head.ellipsis{flex:0 1 auto;white-space:normal;overflow:visible;text-overflow:clip;text-align:left}.tl-head .col-head-name{min-width:0;word-break:keep-all;overflow-wrap:break-word}.scroll-edge.is-tl:after{content:"";position:absolute;top:0;right:0;bottom:0;width:32px;background:linear-gradient(to right,#3c281e00,#3c281e24);border-radius:0 12px 12px 0;opacity:0;transition:opacity .15s;pointer-events:none;z-index:5}.scroll-edge.is-tl.has-more-right:after{opacity:1}@media print{.scroll-edge.is-tl:after{display:none}}.tl-head .spread>.chip{margin-left:auto}.choice-tabs{display:flex;flex-wrap:wrap;gap:6px}.choice-tab{display:grid;gap:2px;min-width:120px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);font:inherit;text-align:left;cursor:pointer}.choice-tab.is-on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.choice-tab-name{display:flex;align-items:center;gap:4px;font-weight:700}.choice-tab-points{font-size:1.1rem;font-weight:700}.choice-tab-sub{font-size:.82rem;color:var(--sub)}.choice-panel{gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.choice-stats{margin:0}.choice-actions{flex-wrap:wrap;gap:6px}.choice-summary{align-items:center;justify-content:space-between}.choice-map{gap:6px}.mail-btn-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.mail-why{font-size:.8rem}.mail-note{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.mail-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.mail-row{display:grid;grid-template-columns:minmax(8em,1fr) auto;gap:4px 12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.mail-row-who{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.mail-row-summary{text-align:right}.mail-row-act{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.mail-notice{margin:0}.mail-reserve{gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.mail-reserve p{margin:0}.mail-reserve-act{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.client-picker{display:flex;flex-direction:column;gap:4px;min-width:0}.client-picker-label{font-size:.85rem;color:var(--sub)}.client-picker .dot-xs{width:18px;height:18px;font-size:.65rem}.client-picker-chips{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.client-picker-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 3px;border:1px solid #cdbcb0;border-radius:999px;background:var(--soft);font-size:.8rem;white-space:nowrap}.client-picker-remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--sub);cursor:pointer}@media(pointer:coarse){.client-picker-remove{position:relative}.client-picker-remove:before{content:"";position:absolute;inset:-5px}}.client-picker-remove:hover,.client-picker-remove:focus-visible{background:var(--primary-soft);color:var(--ink)}.client-picker-box{position:relative}.client-picker-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--sub);pointer-events:none}.client-picker-box input{padding:6px 10px 6px 30px;min-width:14em}.client-picker-pop{position:absolute;z-index:30;left:0;top:calc(100% + 2px);min-width:100%;max-width:24em;max-height:22em;overflow-y:auto;border:1.5px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 6px 18px #3b2f2a29}.client-picker-pop[hidden]{display:none}.client-picker-list{margin:0;padding:4px 0;list-style:none}.client-picker-option{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:.88rem}.client-picker-option.is-active{background:var(--primary-soft);outline:3px solid var(--focus);outline-offset:-3px}.client-picker-option[aria-selected=true]{font-weight:700}.client-picker-check{display:inline-block;width:1em;text-align:center;font-weight:700}.client-picker-name{white-space:nowrap}.client-picker-kana{color:var(--sub);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-picker-note{margin:0;padding:6px 10px;font-size:.8rem;color:var(--sub)}.client-picker-shortcuts{margin:0;padding:0;border:0;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.client-picker-staff{display:inline-flex;align-items:center;gap:4px}.client-picker-staff select{width:auto;padding:2px 6px;font-size:.8rem}@media(max-width:860px){.client-picker-staff select{font-size:16px}}.client-picker-shortcut{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--sub);font:inherit;font-size:.75rem;cursor:pointer}.client-picker-shortcut.is-on{border-color:var(--primary);background:var(--primary-soft);color:var(--ink);font-weight:700}.client-picker-shortcut.is-on:before{content:"✓"}.client-picker-count{min-width:1.4em;padding:0 4px;border-radius:999px;background:var(--soft);font-size:.7rem;text-align:center}.client-picker-message{display:block;margin:0;min-height:0;font-size:.8rem;color:var(--danger)}.client-picker-over{flex-basis:100%;font-size:.75rem;color:var(--danger)}:root{--bar-visit: #2f63b0;--bar-travel: #e0761c;--bar-free: #c6e5cf;--bar-noplan: #f7f3ef;--bar-noplan-line: #a3968b;--bar-rest: #d9d2cb;--bar-rest-ink: #6b5f57;--bar-track: #ece7e2;--bar-gap: rgba(255, 255, 255, .95);--load-none: #d23f2c;--load-one: #eda54c;--load-many: #7fbf98;--bar-hour-gaps: linear-gradient( 90deg, transparent 0 calc(25% - 1px) , var(--bar-gap) calc(25% - 1px) calc(25% + 1px) , transparent calc(25% + 1px) calc(50% - 1px) , var(--bar-gap) calc(50% - 1px) calc(50% + 1px) , transparent calc(50% + 1px) calc(75% - 1px) , var(--bar-gap) calc(75% - 1px) calc(75% + 1px) , transparent calc(75% + 1px) )}.bar-seg{position:absolute;top:0;bottom:0;box-sizing:border-box}.bar-seg.is-st-visit{background:var(--bar-visit)}.bar-seg.is-st-travel{top:25%;bottom:25%;background:var(--bar-travel)}.bar-seg.is-st-free{background:var(--bar-free)}.bar-seg.is-st-noplan{background:var(--bar-noplan);border:1px dashed var(--bar-noplan-line)}.bar-seg.is-st-rest{background:var(--bar-rest)}.bar-seg.is-st-outside,.bar-seg.is-off{display:none}.bar-seg.is-none{background:var(--load-none)}.bar-seg.is-one{top:33%;background:var(--load-one)}.bar-seg.is-many{top:67%;background:var(--load-many)}.bar-hours:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--bar-hour-gaps)}.load-bar{position:relative;display:flex;flex-direction:column;gap:1px;width:100%}.load-row{display:flex;align-items:center;gap:2px}.load-row-edge{flex:none;width:1.3em;font-size:.56rem;line-height:1;color:var(--sub);font-variant-numeric:tabular-nums}.load-row-edge:first-child{text-align:right}.load-row-edge.is-mark{color:var(--primary-dark);font-weight:700;cursor:help}.load-row-slots{position:relative;display:flex;flex:1;min-width:0;height:8px;border-radius:2px;overflow:hidden;background:var(--bar-track)}.load-bar.is-empty .load-row-slots{box-sizing:border-box;border:1px dashed var(--bar-noplan-line);background:var(--bar-noplan)}.load-bar.is-sample{width:120px}.load-slot{position:relative;z-index:1;flex:1;min-width:0}.load-bar-cover{position:absolute;z-index:3;top:0;bottom:0;left:calc(.73rem + 2px);right:calc(.73rem + 2px);display:flex;align-items:center;justify-content:center;border-radius:3px;background:var(--bar-rest);color:var(--bar-rest-ink);font-size:.66rem;font-weight:700;line-height:1;letter-spacing:.1em;pointer-events:none}.load-legend{display:inline-flex;flex-wrap:wrap;gap:4px 10px;font-size:.78rem;color:var(--sub)}.load-legend-item{display:inline-flex;align-items:center;gap:4px}.load-swatch{position:relative;display:inline-block;flex:none;width:16px;height:10px;border-radius:2px;overflow:hidden;background:var(--bar-track)}.type-stack{display:flex;width:100%;height:6px;border-radius:999px;overflow:hidden;gap:1px;background:#fff}.type-stack-part{flex-basis:0;min-width:3px}.week-nav,.week-tools{flex-wrap:wrap;gap:8px}.week-title{margin:0 4px;font-size:1.1rem;min-width:12em;text-align:center}.week-views{margin-left:auto}@media(max-width:600px){.week-views{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-left:0}.week-views button{padding:7px 6px;font-size:.85rem}.segmented.week-views button+button{border-left:0}.segmented.week-views button:nth-child(2n){border-left:2px solid var(--line)}.segmented.week-views button:nth-child(n+3){border-top:2px solid var(--line)}}.week-tools{align-items:center}.week-legend{gap:12px;flex-wrap:wrap;font-size:.85rem;color:var(--sub)}.week-legend-item{gap:4px}.week-legend-dash{display:inline-block;width:18px;height:10px;border:2px dashed var(--sub);border-radius:4px}.week-legend-dash.is-unassigned{border-color:var(--danger)}.week-notice{border:2px solid var(--warn)}.week-card{padding:10px;overflow-x:auto}.week-grid{display:grid;grid-template-columns:48px repeat(7,minmax(124px,1fr));column-gap:4px;row-gap:6px;min-width:860px}.week-day-head{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font:inherit;font-size:.85rem;color:var(--ink);cursor:pointer}.week-day-head:hover{border-color:var(--primary)}.week-day-head.is-today{border-color:var(--primary);background:var(--primary-soft)}.week-day-head.is-sun strong{color:#c0504d}.week-day-head.is-sat strong{color:#4a78b5}.week-gutter{position:relative}.week-hour{position:absolute;right:4px;transform:translateY(-50%);font-size:.72rem;color:var(--sub)}.week-col{position:relative;border-radius:8px;background-color:#fff;background-image:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent 48px);border:1px solid var(--line)}.week-band{position:absolute;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;padding:2px 4px;border:2px solid rgba(59,47,42,.25);border-radius:6px;background:#e2d8cf;color:var(--ink);font:inherit;font-size:.7rem;line-height:1.2;text-align:left;cursor:grab;z-index:1}.week-band:hover,.week-band:focus-visible{outline:3px solid var(--focus);z-index:2}.week-band.is-unassigned{border:2px dashed var(--danger);background-color:#fff!important;background-image:none}.week-band-time{display:inline-flex;align-items:center;gap:3px;font-weight:700}.week-band-marks .vmark{min-width:13px;height:13px;font-size:.58rem}.week-band-client,.week-band-staff{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-drop{position:absolute;left:2px;right:2px;border:2px dashed var(--primary);border-radius:6px;background:var(--primary-soft);font-size:.7rem;color:var(--primary-dark);pointer-events:none;z-index:3}.week-table{width:100%;min-width:900px;border-collapse:collapse;font-size:.85rem}.week-table th,.week-table td{border:1px solid var(--line);padding:6px;vertical-align:top;text-align:left}.week-table td{min-width:84px}.week-table td>strong,.week-table td>.sub{display:block}.week-table td[data-testid=week-cell]{min-width:96px}.week-table td[data-testid=week-cell] .load-row-slots{height:10px}.week-table td[data-testid=week-cell] .load-bar{gap:2px}.week-table td.week-cell{position:relative}.week-table td.week-cell.is-drop{background:var(--primary-soft)}.week-tdrop{position:absolute;inset:2px;display:flex;align-items:flex-end;padding:2px}.week-chip-sub{margin-left:2px;font-size:.62rem;font-weight:700;color:var(--sub)}.week-table td.is-past{opacity:.6}.week-cell-foot{display:flex;justify-content:flex-end;margin-top:3px;font-size:.78rem;line-height:1.2}.week-cell-count{font-weight:700;font-variant-numeric:tabular-nums}.week-table-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:8px}.week-table-legend-rows{gap:6px}.week-table td.is-off{background:#f3efeb}.week-diff{font-weight:700;white-space:nowrap}.week-diff.is-strong{color:var(--danger);background:#fdecea}.week-table tfoot th,.week-table tfoot td{background:var(--soft)}.week-band.is-unfit,.week-citem.is-unfit{border:3px solid var(--danger)}.week-legend-unfit{display:inline-block;margin-right:3px;padding:0 3px;border-radius:4px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700}.week-drop{display:flex;flex-direction:column;gap:1px;padding:1px 3px}.week-allowed{margin:0;font-size:.85rem;font-weight:700;color:var(--ok-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-allowed.is-idle{font-weight:400;color:var(--sub)}.week-quals .week-qual{gap:6px;padding:3px 10px}.week-quals .week-qual:disabled{cursor:default;opacity:.5}.week-client-name{gap:6px;white-space:nowrap}.week-client-color{display:inline-block;width:10px;height:10px;border-radius:50%}.week-clients td.week-ccell{position:relative;min-width:100px;height:48px;vertical-align:top}.week-clients td.is-past{background:#f1ece7}.week-clients td.is-drop{outline:2px dashed var(--primary);outline-offset:-3px;background:var(--primary-soft)}.week-cdrop{display:block;margin-top:2px;padding:1px 2px;font-size:.72rem}.week-clients{table-layout:fixed}.week-clients th:first-child{width:150px}.week-band.is-leave{border:1.5px dashed #9aa8b8;background:repeating-linear-gradient(135deg,#f6f8fb 0 6px,#e9eef4 6px 12px)!important;color:#3f4f63;cursor:pointer}.week-client-message{display:block;min-height:0;color:var(--danger);font-size:.8rem}.week-client-search>summary{width:fit-content;cursor:pointer;color:var(--sub);font-size:.85rem}.week-client-search>summary:hover,.week-client-search[open]>summary{color:var(--ink)}.week-client-search[open]>summary{margin-bottom:6px}@media print{.week-client-search{display:none}}.week-empty-card{padding:10px 14px}@media(max-width:600px){.week-table thead th:first-child,.week-table tbody th[scope=row],.week-table tfoot th{position:sticky;left:0;z-index:4}.week-table thead th:first-child,.week-table tbody th[scope=row]{background:var(--card)}.week-table thead th.is-today{background:var(--primary-soft);color:var(--primary-dark)}.week-corner,.week-gutter{position:sticky;left:0;z-index:4;background:var(--card)}}.week-next{display:flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:100%}.week-next:focus{outline:none}.week-next:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}.week-next-why{font-size:.8rem;text-align:right;max-width:22em}.week-next-status{display:inline-flex;align-items:center;gap:4px;font-size:.9rem;color:var(--sub)}.week-next-status.is-done{color:var(--ok-ink);font-weight:700}.week-next-short{display:none}@media(max-width:1399px){.sched-nav .week-next-long{display:none}.sched-nav .week-next-short{display:inline}}.week-day-unmade{border:1px dashed var(--line-strong);border-radius:4px;padding:0 4px}@media(max-width:600px){.week-next{align-items:stretch;width:100%}.week-next-why{text-align:left}.week-next-long{display:none}.week-next-short{display:inline}}@media print{.week-next{display:none}}.work-bar{position:relative;display:block;height:12px;border-radius:3px;background:var(--bar-track)}.work-hour{position:absolute;top:0;bottom:0;z-index:2;width:2px;background:var(--bar-gap);pointer-events:none}.work-part{position:absolute}.work-bar-frame{position:absolute;top:-1px;bottom:-1px;border:1px solid rgba(0,0,0,.25);border-radius:3px;pointer-events:none;z-index:3}.work-bar.is-over .work-bar-frame{top:-3px;bottom:-3px;border:2.5px solid var(--warn)}.work-nav,.work-settings{flex-wrap:wrap;gap:10px}.work-title{margin:0;font-size:1.2rem}label.work-setting,div.work-setting{display:inline-flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap;font-size:.9rem}.work-setting>span:first-child{color:var(--ink);font-weight:700}.work-setting input{width:6em;padding:6px 8px}.work-detail-title{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.work-detail-title select{width:auto}.work-table{width:100%;border-collapse:collapse;font-size:.9rem}.work-table th,.work-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.work-table .num{text-align:right}.work-table tfoot th,.work-table tfoot td{font-weight:700;border-top:2px solid var(--line)}.work-name .link-btn,.work-days th .link-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.work-days th .link-btn{font-weight:400}.work-name .link-btn[aria-pressed=true]{text-decoration-color:var(--primary);text-decoration-thickness:2px}.work-max{display:inline-flex;align-items:center;gap:6px;min-width:140px}.work-max .work-mini{width:80px}.work-mini{position:relative;display:block;width:100%;height:7px;border-radius:999px;background:#f1e9e2;overflow:hidden}.work-mini-fill{position:absolute;inset:0 auto 0 0;background:#8fb3d9;border-radius:999px}.work-mini.is-over .work-mini-fill{background:repeating-linear-gradient(135deg,var(--warn) 0 3px,#f3c56d 3px 6px)}.work-mini-limit{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink);opacity:.55}.work-grid{border-collapse:collapse;font-size:.78rem}.work-grid th,.work-grid td{border:1px solid var(--line);padding:3px 4px;text-align:center}.work-grid-name{position:sticky;left:0;background:var(--card);text-align:left!important;white-space:nowrap;z-index:1}.work-grid-day small{display:block;color:var(--sub);font-weight:400}.work-grid-day.is-sun{color:var(--danger)}.work-grid-day.is-sat{color:#2f5f9e}.work-cell{min-width:34px}.work-cell.is-over{background:#fdf1dc;outline:2px solid var(--warn);outline-offset:-2px}.work-cell-in{display:flex;flex-direction:column;align-items:stretch;gap:2px}.work-cell-btn{width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:inherit;cursor:pointer;border-radius:4px}.work-cell-btn:hover{background:#0000000d}.work-cell-num{font-variant-numeric:tabular-nums}.work-cell-num strong{color:var(--warn-ink);margin-left:1px}.work-axis-head{min-width:260px}.work-axis{position:relative;display:block;height:1.2em}.work-axis span{position:absolute;transform:translate(-50%);font-size:.72rem;color:var(--sub);font-weight:400}.work-axis-cell{min-width:260px}.work-days tr.is-over th{color:var(--warn-ink)}.work-legend{flex-wrap:wrap;gap:4px 12px;margin:0}
