:root{--font:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Segoe UI", Roboto, sans-serif;--font-num:"SF Mono", "Menlo", "Consolas", ui-monospace, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-body:14px;--text-lg:15px;--text-xl:20px;--text-2xl:26px;--text-3xl:34px;--radius:10px;--radius-sm:8px;--radius-pill:999px;--dur-fast:.12s;--dur-base:.2s;--ease-out:cubic-bezier(.22, 1, .36, 1);--tap:44px;--color-paper:oklch(97.5% .005 258);--color-surface:oklch(99.5% .002 258);--color-rule:oklch(90% .008 258);--color-muted:oklch(52% .015 258);--color-ink:oklch(24% .025 262);--color-accent:oklch(50% .18 262);--color-accent-strong:oklch(42% .17 263);--color-accent-weak:oklch(96% .025 262);--color-on-accent:oklch(99% .005 262);--color-focus:oklch(58% .18 262);--color-ok:oklch(48% .12 158);--color-ok-weak:oklch(96% .03 158);--color-warn:oklch(52% .12 70);--color-warn-weak:oklch(96.5% .04 80);--color-danger:oklch(52% .18 25);--color-danger-weak:oklch(96% .035 25);--color-info:oklch(50% .14 262);--color-info-weak:oklch(96% .03 262);--shadow-card:0 1px 3px oklch(24% .025 262/.07);--shadow-float:0 8px 32px oklch(24% .025 262/.1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{font-family:var(--font);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-body);-webkit-font-smoothing:antialiased;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-accent);text-decoration:none}h1{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:700}h2{font-size:var(--text-lg);font-weight:700}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}::selection{background:var(--color-accent-weak)}.muted{color:var(--color-muted);font-size:var(--text-sm)}.num{font-variant-numeric:tabular-nums}.section-title{margin:var(--space-5) var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--color-muted);letter-spacing:.05em;font-weight:700}.card{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius);box-shadow:var(--shadow-card)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-rule);background:var(--color-surface);min-height:36px;color:var(--color-ink);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font-size:var(--text-base);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:600;display:inline-flex}.btn:hover,.btn.is-hover{background:var(--color-paper)}.btn:active,.btn.is-active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn-sm{min-height:32px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn.primary:hover,.btn.primary.is-hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn.danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.btn.big{width:100%;min-height:56px;font-size:var(--text-lg);border-radius:var(--radius)}.btn[data-state=loading]{color:var(--color-muted);pointer-events:none}.btn[data-state=success]{border-color:var(--color-ok);color:var(--color-ok)}.btn[data-state=error]{border-color:var(--color-danger);color:var(--color-danger)}.badge{font-size:var(--text-xs);border-radius:var(--radius-pill);letter-spacing:.02em;white-space:nowrap;padding:2px 10px;font-weight:700;display:inline-block}.badge.ok{background:var(--color-ok-weak);color:var(--color-ok)}.badge.warn{background:var(--color-warn-weak);color:var(--color-warn)}.badge.danger{background:var(--color-danger-weak);color:var(--color-danger)}.badge.info{background:var(--color-info-weak);color:var(--color-info)}.badge.plain{background:var(--color-paper);color:var(--color-muted)}.input{border:1px solid var(--color-rule);border-radius:var(--radius-sm);width:100%;padding:var(--space-2) var(--space-3);min-height:38px;font-size:var(--text-base);background:var(--color-surface)}.input:hover{border-color:var(--color-muted)}.input[aria-invalid=true]{border-color:var(--color-danger)}.field{margin-bottom:var(--space-3)}.field>label,.field>.label-like{font-size:var(--text-xs);color:var(--color-muted);margin-bottom:var(--space-1);letter-spacing:.03em;font-weight:700;display:block}.error-text{color:var(--color-danger);font-size:var(--text-sm);font-weight:600}.kpi-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.kpi{padding:var(--space-4) var(--space-5)}.kpi .lbl{font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.04em;font-weight:700}.kpi .val{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:2px;font-weight:800}.kpi .val small{font-size:var(--text-base);color:var(--color-muted);font-weight:600}.kpi.accent{background:var(--color-accent);border-color:var(--color-accent)}.kpi.accent .lbl{color:var(--color-on-accent);opacity:.75}.kpi.accent .val{color:var(--color-on-accent)}.tbl-wrap{border:1px solid var(--color-rule);border-radius:var(--radius);background:var(--color-surface);overflow-x:auto}table.tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}table.tbl th{text-align:left;font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.04em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-rule);background:var(--color-paper);white-space:nowrap;font-weight:700}table.tbl td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-rule);font-size:var(--text-base);white-space:nowrap}table.tbl tbody tr:last-child td{border-bottom:none}table.tbl tbody tr:hover{background:var(--color-accent-weak)}table.tbl tr.clickable{cursor:pointer}table.tbl tr.detail-row td{background:var(--color-paper);white-space:normal}.swap-item{border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-3);margin-top:var(--space-2);overflow-wrap:anywhere}.swap-item.is-ask{border-color:var(--color-warn);background:var(--color-warn-weak)}.req-detail{gap:var(--space-1) var(--space-4);grid-template-columns:max-content 1fr;margin:0;font-size:.92em;display:grid}.req-detail dt{color:var(--color-muted)}.req-detail dd{overflow-wrap:anywhere;margin:0}table.tbl td.n{text-align:right}table.tbl td.zero{color:var(--color-rule)}table.tbl tr.is-holiday td{background:var(--color-warn-weak)}.filters{gap:var(--space-1);flex-wrap:wrap;display:flex}.filters button{border:1px solid var(--color-rule);background:var(--color-surface);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-muted);padding:5px 14px;font-weight:600}.filters button.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.phone{background:var(--color-paper);flex-direction:column;max-width:460px;min-height:100dvh;margin:0 auto;display:flex}.phone-header{padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px solid var(--color-rule);background:var(--color-surface);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.phone-body{padding:var(--space-4) var(--space-4) var(--space-8);flex:1;overflow-y:auto}.brand{align-items:center;gap:var(--space-2);font-size:var(--text-lg);letter-spacing:.02em;color:var(--color-ink);font-weight:800;display:flex}.brand span{color:var(--color-accent)}.brand-logo{width:auto;height:26px;display:block}.brand-login{align-items:center;gap:var(--space-1);flex-direction:column;width:100%}.brand-logo-lg{width:auto;max-width:100%;height:68px;display:block}.brand-caption{font-size:var(--text-sm);letter-spacing:.12em;color:var(--color-muted);font-weight:700}.field-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-muted);line-height:1.5}.known-title{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-2);font-weight:700}.known-list{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.known-row{gap:var(--space-2);display:flex}.known-pick{min-height:var(--tap);text-align:left;padding:var(--space-2) var(--space-4);flex:1;justify-content:space-between}.known-name{font-size:var(--text-body);font-weight:700}.known-no{font-family:var(--font-num);font-size:var(--text-xs);color:var(--color-muted)}.known-forget{width:var(--tap);min-height:var(--tap);color:var(--color-muted);font-size:var(--text-lg);padding:0}.known-forget:hover{color:var(--color-danger);border-color:var(--color-danger)}.linklike{font-size:var(--text-sm);color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.bottom-nav{border-top:1px solid var(--color-rule);background:var(--color-surface);padding-bottom:env(safe-area-inset-bottom);display:flex;position:sticky;bottom:0}.bottom-nav button{padding:var(--space-2) 0 10px;font-size:var(--text-xs);color:var(--color-muted);min-height:var(--tap);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;font-weight:600;display:flex}.bottom-nav button .ico{opacity:.5;font-size:17px;line-height:1.2}.bottom-nav button.active{color:var(--color-accent)}.bottom-nav button.active .ico{opacity:1}.desk{min-height:100dvh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-rule);width:216px;padding:var(--space-5) var(--space-3);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:2px;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{padding:0 10px var(--space-4)}.sidebar button{border-radius:var(--radius-sm);width:100%;font-size:var(--text-base);color:var(--color-muted);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-weight:600;display:flex}.sidebar button:hover{background:var(--color-paper);color:var(--color-ink)}.sidebar button.active{background:var(--color-accent-weak);color:var(--color-accent-strong)}.sidebar .who{padding:var(--space-3) 10px 0;border-top:1px solid var(--color-rule);font-size:var(--text-sm);color:var(--color-muted);margin-top:auto}.sidebar .who-name{margin-bottom:var(--space-2);display:block}.sidebar .who-logout{border:1px solid var(--color-rule);background:var(--color-paper);width:100%;color:var(--color-ink);padding:var(--space-2) var(--space-3);justify-content:center}.sidebar .who-logout:hover{background:var(--color-surface);border-color:var(--color-ink)}.main-pane{min-width:0;padding:var(--space-6) var(--space-6);flex:1}.page-head{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=860px){.desk{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--color-rule);width:100%;height:auto;padding:var(--space-2);flex-direction:row;align-items:center;position:static;overflow:auto visible}.sidebar .brand,.sidebar .who-name{display:none}.sidebar .who{padding:0 0 0 var(--space-2);background:var(--color-surface);border-top:none;flex-shrink:0;margin-top:0;margin-left:auto;position:sticky;right:0;box-shadow:-10px 0 8px -8px #0000001f}.sidebar .who-logout{white-space:nowrap;width:auto}.sidebar button{white-space:nowrap;flex-shrink:0;width:auto}.main-pane{padding:var(--space-4)}}.steps{flex-direction:column;gap:2px;display:flex}.step{gap:var(--space-3);padding:6px var(--space-3);font-size:var(--text-sm);border-radius:6px;grid-template-columns:8.5rem 5rem 1fr;align-items:baseline;display:grid}.step:nth-child(odd){background:var(--color-paper)}.step .lbl{color:var(--color-muted);font-weight:700}.step .v{font-family:var(--font-num);text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.step .ex{color:var(--color-muted);overflow-wrap:anywhere;min-width:0}@media (width<=560px){.step{grid-template-columns:1fr auto}.step .ex{grid-column:1/-1}}.punch-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.stamp{text-align:center;padding:var(--space-4)}.stamp .time{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:800}.note{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-warn-weak);color:var(--color-warn);align-items:flex-start;font-weight:600;display:flex}.note.plain{background:var(--color-paper);color:var(--color-muted)}.note.danger{background:var(--color-danger-weak);color:var(--color-danger)}.note.swap-notice{text-align:left;cursor:pointer;width:100%;margin-bottom:var(--space-3);border:0;font-family:inherit}.toast{left:50%;bottom:var(--space-6);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-pill);font-size:var(--text-base);z-index:50;box-shadow:var(--shadow-float);animation:toast-in var(--dur-base) var(--ease-out);padding:10px 20px;font-weight:600;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.centered{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.auth-card{width:min(400px,100%);padding:var(--space-6)}.demo-lead{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-4);line-height:1.8}.demo-title{font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-muted);margin:var(--space-3) 0 var(--space-2);font-weight:700}.demo-list{gap:var(--space-2);display:grid}.btn.demo-pick{min-width:0;height:auto;min-height:var(--tap);padding:var(--space-2) var(--space-3);white-space:normal;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.demo-name{font-weight:700}.demo-sub{font-size:var(--text-xs);color:var(--color-muted);font-weight:400}.demo-note{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-muted)}.demo-badge{z-index:50;border-radius:var(--radius-pill);background:var(--color-warn-weak);color:var(--color-warn);border:1px solid var(--color-warn);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;padding:2px 10px;font-weight:700;position:fixed;top:6px;left:50%;transform:translate(-50%)}.demo-qr{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-rule);flex-wrap:wrap;display:flex}.demo-qr .demo-title{width:100%;margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.print-sheet{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-5);overflow-x:auto}.sheet-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);border-bottom:2px solid var(--color-ink);padding-bottom:var(--space-2);margin-bottom:var(--space-3);display:flex}.sheet-title{font-size:var(--text-xl);letter-spacing:.1em;font-weight:700}.sheet-sub{font-size:var(--text-sm);color:var(--color-muted);margin-top:2px}.sheet-meta{text-align:right;font-size:var(--text-sm);line-height:1.7}.sheet-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:11px}.sheet-table th,.sheet-table td{border:1px solid var(--color-rule);text-align:center;white-space:nowrap;padding:2px 4px}.sheet-table th{background:var(--color-paper);font-weight:600}.sheet-table td.n{text-align:right}.sheet-table td.sched-cell{text-align:center;color:var(--color-muted);font-size:10px}.sheet-table td.note-cell{text-align:left;white-space:normal;max-width:180px;color:var(--color-muted);font-size:10px}.sheet-table tr.is-holiday td{background:var(--color-danger-weak)}.sheet-summary{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.sheet-sum-item{border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.sheet-sum-item .k{font-size:var(--text-sm);color:var(--color-muted)}.sheet-sum-item .v{font-variant-numeric:tabular-nums;font-weight:700}.sheet-foot{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-muted)}.trip-who{align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.trip-who-cell{align-items:baseline;gap:var(--space-3);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);min-width:200px;display:flex}.trip-who-cell .k{font-size:var(--text-sm);color:var(--color-muted)}.trip-who-cell .v{font-weight:700}.trip-seal{border:1px solid var(--color-rule);border-radius:var(--radius-sm);width:46px;font-size:var(--text-xs);color:var(--color-muted);place-items:center;display:grid}.sheet-table td.trip-reason{text-align:left;white-space:normal}.sheet-table tr.trip-total td{background:var(--color-paper);font-weight:700}.trip-foot{gap:var(--space-4);margin-top:var(--space-4);align-items:flex-start;display:flex}.trip-grand{align-items:baseline;gap:var(--space-4);border:2px solid var(--color-ink);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);display:flex}.trip-grand .k{font-size:var(--text-sm);letter-spacing:.1em}.trip-grand .v{font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:800}.trip-company{border:1px solid var(--color-rule);border-radius:var(--radius-sm);flex:1;overflow:hidden}.trip-company-head{background:var(--color-paper);padding:2px var(--space-2);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.2em;text-align:center;border-bottom:1px solid var(--color-rule)}.trip-company-row{grid-template-columns:repeat(4,1fr);display:grid}.trip-company-cell{border-right:1px solid var(--color-rule);min-height:46px;padding:2px var(--space-2);font-size:var(--text-xs);color:var(--color-muted)}.trip-company-cell:last-child{border-right:none}.trip-notes{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-muted);line-height:1.8}@media print{body{background:#fff}body *{visibility:hidden}.print-sheet,.print-sheet *{visibility:visible}.print-sheet{border:none;border-radius:0;width:100%;margin:0;padding:0;position:absolute;top:0;left:0;overflow:visible}.sheet-table{font-size:8.5px}.sheet-table td.sched-cell,.sheet-table td.note-cell,.trip-notes,.trip-company-head,.trip-company-cell{font-size:8px}.trip-seal{width:40px}.print-sheet+.print-sheet{page-break-before:always}@page{size:A4 portrait;margin:10mm}}.plan-wrap{border:1px solid var(--color-rule);border-radius:var(--radius);background:var(--color-surface);max-height:calc(100vh - 260px);overflow:auto}table.plan{border-collapse:separate;border-spacing:0;font-size:var(--text-sm);white-space:nowrap}table.plan th,table.plan td{border-right:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);text-align:center;min-width:44px;height:34px;padding:0}table.plan thead th{z-index:2;background:var(--color-paper);padding:var(--space-1);font-weight:600;line-height:1.25;position:sticky;top:0}table.plan .who{z-index:1;background:var(--color-surface);text-align:left;padding:0 var(--space-3);min-width:150px;font-weight:600;position:sticky;left:0}table.plan thead .who{z-index:3;background:var(--color-paper)}table.plan .is-closed{background:var(--color-paper);color:var(--color-muted)}table.plan .is-today{box-shadow:inset 0 2px 0 var(--color-accent)}table.plan .is-past{opacity:.55}table.plan button.cell{all:unset;box-sizing:border-box;cursor:pointer;width:100%;height:34px;line-height:34px;font-family:var(--font-num);display:block}table.plan button.cell:hover{background:var(--color-accent-weak)}table.plan button.cell:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}table.plan button.cell.is-off{color:var(--color-muted)}table.plan button.cell.is-duty{background:var(--color-ok-weak)}table.plan button.cell.is-cover,table.plan button.cell.is-away{background:var(--color-accent-weak)}table.plan button.cell.is-leave,table.plan td.is-leave{background:var(--color-warn-weak)}table.plan td small.leave-sub{color:var(--color-warn);font-size:.8em;line-height:1.1;display:block}table.plan button.cell.has-sub{padding-top:2px;font-size:.92em;line-height:15px}table.plan button.cell small{color:var(--color-warn);font-size:.85em;display:block}table.plan button.cell.is-manual{box-shadow:inset 0 -2px 0 var(--color-accent);font-weight:700}table.plan button.cell.is-selected{outline:2px solid var(--color-accent);outline-offset:-2px}table.plan tfoot td{font-family:var(--font-num);background:var(--color-paper);height:28px}table.plan tfoot .is-short{background:var(--color-danger-weak);color:var(--color-danger);font-weight:700}.plan-edit{gap:var(--space-2);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.plan-time{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:inline-flex}.plan-time .input{width:72px}.plan-time .input.brk{width:52px}.plan-legend{gap:var(--space-3);margin:var(--space-3) 0;font-size:var(--text-sm);color:var(--color-muted);flex-wrap:wrap;display:flex}.plan-legend i{vertical-align:-2px;width:14px;height:14px;margin-right:var(--space-1);border:1px solid var(--color-rule);border-radius:3px;display:inline-block}.plan-form{margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-paper);font-size:var(--text-base)}.plan-form>strong{margin-bottom:var(--space-3);display:block}.staff-plan{max-height:none}.staff-plan table.plan th,.staff-plan table.plan td{min-width:34px;height:30px;font-family:var(--font-num)}.staff-plan table.plan .who{min-width:64px;padding:0 var(--space-2);font-family:var(--font)}.staff-plan table.plan tr.is-me td{background:var(--color-accent-weak);font-weight:700}.staff-plan table.plan button.cell{text-align:center;height:30px;padding:0 2px;line-height:30px}.staff-plan table.plan button.cell.has-sub{line-height:14px}.staff-plan table.plan button.cell.is-unusual{color:var(--color-accent);font-weight:700}.staff-plan table.plan button.cell.is-elsewhere{background:var(--color-accent-weak);letter-spacing:-.02em;font-size:.8em}.staff-plan table.plan button.cell.is-swapped{position:relative}.staff-plan table.plan button.cell.is-swapped:after{content:"";border-style:solid;border-width:0 6px 6px 0;border-color:transparent var(--color-accent) transparent transparent;position:absolute;top:0;right:0}.staff-plan table.plan button.cell.is-faded{color:var(--color-muted);opacity:.6;letter-spacing:-.02em;font-size:.8em;font-weight:400}.cell-detail{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-paper);font-size:var(--text-sm)}.wish-grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.wish-head{text-align:center;font-size:var(--text-xs);color:var(--color-muted);font-weight:700}.wish-day{min-height:var(--tap);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-num);font-size:var(--text-base);flex-direction:column;justify-content:center;align-items:center;line-height:1.15;display:flex}.wish-day span{font-family:var(--font);font-size:var(--text-xs);font-weight:700}.wish-day.is-on{background:var(--color-warn-weak);border-color:var(--color-warn);color:var(--color-warn)}.wish-day.is-picked{outline:2px solid var(--color-accent);outline-offset:1px}.wish-day:disabled{opacity:.4}
