:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--line: #e3e6eb;--text: #1b1f27;--muted: #5f6878;--faint: #8a93a3;--accent: #8b3f96;--accent-soft: #f5e9f6;--warn: #b45309;--warn-soft: #fdf1e3;--danger: #b91c1c;--danger-soft: #fdecec;--ok: #17694f;--ok-soft: #e3f4ee;--radius: 14px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #12151b;--surface: #1a1e26;--surface-2: #222733;--line: #2c3240;--text: #e8ebf1;--muted: #a3abba;--faint: #7a8396;--accent: #d39ade;--accent-soft: #33223a;--warn: #f0a35a;--warn-soft: #3a2a19;--danger: #f28b8b;--danger-soft: #3a1d1d;--ok: #6fd3a8;--ok-soft: #173329;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.7 Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,system-ui,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;color:inherit}header.top{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}.top-in{max-width:1120px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:14px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;white-space:nowrap}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:#fff;font-size:14px}@media(prefers-color-scheme:dark){.brand-mark{color:#1a1e26}}.brand small{display:block;font-weight:500;font-size:11px;color:var(--muted);line-height:1.2}.nav{display:flex;gap:4px}.nav a{font-size:14px;padding:4px 12px;border-radius:999px;color:var(--muted);white-space:nowrap}.nav a.router-link-exact-active,.nav a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav .count{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;text-align:center;line-height:18px}.right{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;flex:none}.me-text{line-height:1.3;text-align:right}.me-text span{color:var(--muted);font-size:12px;display:block}@media(max-width:720px){.me-text,.brand small{display:none}.top-in{flex-wrap:wrap;gap:8px 10px;padding:8px 16px}.nav{order:3;flex-basis:100%;overflow-x:auto}}main{max-width:1120px;margin:0 auto;padding:20px 16px 48px}main.narrow{max-width:760px}.page-h1{font-size:21px;margin:4px 0 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crumb{font-size:13px;color:var(--muted);margin-bottom:4px}.crumb a{color:var(--accent)}.temp-note{display:flex;gap:10px;align-items:flex-start;background:var(--accent-soft);border-radius:12px;padding:10px 14px;margin-bottom:18px;font-size:13px;color:var(--text)}.temp-note b{color:var(--accent);white-space:nowrap}.alert{display:flex;gap:10px;align-items:flex-start;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:14px}.alert b{color:var(--warn);white-space:nowrap;flex:none}.alert.danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.alert.danger b{color:var(--danger)}.alert.ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.alert.ok b{color:var(--ok)}.alert ul{margin:2px 0 0;padding-left:1.2em}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.card+.card{margin-top:16px}.card h2{font-size:15px;margin:0 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card h2 .more{margin-left:auto;font-size:13px;font-weight:500;color:var(--accent)}@media(max-width:640px){.card{padding:14px}}.hint{color:var(--faint);font-size:13px;margin:0}.muted{color:var(--muted)}.tag{font-size:11px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.accent{background:var(--accent-soft);color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:var(--accent);color:#fff;border-radius:10px;padding:8px 18px;font-size:14px;cursor:pointer;white-space:nowrap}@media(prefers-color-scheme:dark){.btn{color:#1a1e26}}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.btn.sm{padding:4px 12px;font-size:13px;border-radius:8px}.btn:disabled{opacity:.55;cursor:default}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.center{max-width:520px;margin:72px auto;padding:0 16px;text-align:center}.center h1{font-size:20px}.center p{color:var(--muted)}.spinner{width:28px;height:28px;margin:0 auto;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{max-width:1120px;margin:0 auto;padding:0 16px 32px;font-size:12px;color:var(--faint);display:flex;gap:16px;flex-wrap:wrap}footer a{color:var(--muted)}footer .owner{margin-left:auto}.greet{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.greet h1{font-size:21px;margin:0}.greet p{margin:0;color:var(--muted);font-size:14px}.starts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.start{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.start:hover{border-color:var(--accent)}.start i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:20px;background:var(--accent-soft);color:var(--accent);flex:none}.start b{display:block;font-size:16px}.start small{color:var(--muted);font-size:12px}@media(max-width:560px){.starts{grid-template-columns:1fr}.start{padding:12px 14px}}.pending{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px}.pending.has{border-color:var(--accent);background:var(--accent-soft)}.pending .n{font-size:30px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}.pending .t{flex:1;min-width:0}.pending .t span{display:block;color:var(--muted);font-size:12px}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}.totals div{background:var(--surface-2);border-radius:10px;padding:8px 12px}.totals dt{font-size:12px;color:var(--muted)}.totals dd{margin:0;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.totals dd small{font-size:12px;font-weight:500;color:var(--muted)}.totals .over dd{color:var(--warn)}@media(max-width:560px){.totals{grid-template-columns:1fr 1fr}.totals dd{font-size:15px}}.month-h{font-size:14px;margin:18px 0 8px;display:flex;gap:8px;align-items:baseline}.month-h:first-child{margin-top:0}.rows{list-style:none;margin:0;padding:0}.rows li{border-top:1px solid var(--line)}.rows li:first-child{border-top:0}.row{display:grid;grid-template-columns:92px 1fr auto;gap:4px 12px;align-items:center;padding:10px 2px}.row:hover .what{color:var(--accent)}.row .when{font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}.row .when small{display:block;color:var(--faint);font-size:11px}.row .what{min-width:0;font-size:14px;overflow-wrap:anywhere}.row .what small{display:block;color:var(--muted);font-size:12px}.row .side{display:flex;align-items:center;gap:6px;justify-self:end}@media(max-width:560px){.row{grid-template-columns:70px 1fr}.row .side{grid-column:2;justify-self:start}}.kind{font-size:11px;font-weight:600;padding:0 7px;border-radius:6px;margin-right:6px}.kind-leave{background:#e3f4ee;color:#17694f}.kind-overtime{background:#e8eefc;color:#2550a8}@media(prefers-color-scheme:dark){.kind{filter:brightness(.85) saturate(.9)}}.st{font-size:11px;font-weight:600;border-radius:6px;padding:1px 8px;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.st-submitted,.st-cancel_requested{background:var(--accent-soft);color:var(--accent)}.st-approved{background:var(--ok-soft);color:var(--ok)}.st-returned{background:var(--warn-soft);color:var(--warn)}.st-withdrawn,.st-cancelled{background:var(--surface-2);color:var(--faint);text-decoration:line-through}.empty{color:var(--faint);font-size:14px;padding:8px 0;margin:0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 14px;overflow-x:auto}.tabs button{border:0;background:transparent;padding:8px 14px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;font-size:14px}.tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.tabs .n{font-size:11px;color:var(--faint);margin-left:4px}.filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.filters label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.filters .grow{margin-left:auto}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--muted);background:none;cursor:pointer}.chip.on{background:var(--accent-soft);color:var(--accent);border-color:transparent}input,select,textarea{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:9px;padding:8px 10px;font:inherit;font-size:15px;min-width:0}textarea{width:100%;resize:vertical;line-height:1.6}.form .f{display:block;margin-bottom:16px;border:0;padding:0;min-width:0}.form .f>.label,.form legend{display:block;font-size:13px;color:var(--muted);margin-bottom:4px;padding:0}.form .f>.label .req{color:var(--danger);margin-left:4px;font-size:11px}.form .f>input:not([type=checkbox]):not([type=radio]),.form .f>select,.form .f>textarea{display:block;width:100%}.form .f small{display:block;color:var(--faint);font-size:12px;margin-top:4px}.form .f .err{color:var(--danger);font-size:13px;margin-top:4px;display:block}.form .f.bad>input,.form .f.bad>select,.form .f.bad>textarea,.form .f.bad .row2 input{border-color:var(--danger)}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:7px 12px;cursor:pointer;font-size:14px;background:var(--surface)}.seg label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.seg input{accent-color:var(--accent);margin:0}.seg label.off{opacity:.45;cursor:not-allowed}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--accent)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row2>*{min-width:0}.row2 input,.row2 select{width:100%}.row2 label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.box{background:var(--surface-2);border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:14px}.box b{font-weight:600}.box .k{color:var(--muted);font-size:12px;display:block}.calc{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}.calc span b{font-variant-numeric:tabular-nums}.submit-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}@media(max-width:560px){.submit-bar{position:sticky;bottom:0;background:var(--bg);padding:10px 0;margin:0 -2px}.submit-bar .btn{flex:1;padding:12px;font-size:15px}}.approver-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.approver-list li{display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 10px}.facts{display:grid;grid-template-columns:9em 1fr;gap:6px 14px;font-size:14px;margin:0}.facts dt{color:var(--muted);font-size:13px}.facts dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}@media(max-width:560px){.facts{grid-template-columns:1fr;gap:0}.facts dd{margin-bottom:8px}}.logs{list-style:none;margin:0;padding:0}.logs li{position:relative;padding:0 0 12px 18px;font-size:14px}.logs li:before{content:"";position:absolute;left:4px;top:8px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.logs li:after{content:"";position:absolute;left:7px;top:18px;bottom:0;width:1px;background:var(--line)}.logs li:last-child:after{display:none}.logs time{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;margin-right:6px}.logs .c{display:block;margin-top:2px;font-size:13px;background:var(--surface-2);border-radius:8px;padding:4px 10px;white-space:pre-line;overflow-wrap:anywhere}.decide textarea{margin:6px 0 10px}.two{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}.two>*{min-width:0}.two>.card+.card{margin-top:0}@media(max-width:860px){.two{grid-template-columns:1fr}.two>.card+.card{margin-top:0}}.table-wrap{overflow-x:auto}table.list{width:100%;border-collapse:collapse;font-size:13px}table.list th,table.list td{text-align:left;padding:7px 8px;border-top:1px solid var(--line);vertical-align:top}table.list th{color:var(--muted);font-weight:500;font-size:12px;white-space:nowrap;border-top:0}table.list td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.list tr:hover td{background:var(--surface-2)}table.list a{color:var(--accent)}
