:root{--blue:#3975a6;--ink:#243b53;--line:#d9e2ec;--muted:#64748b}*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:var(--ink);font:15px/1.65 system-ui,-apple-system,'Noto Sans JP',sans-serif}a{color:#245b89;text-underline-offset:3px}header{padding:20px 4vw;background:#edf4fa;display:flex;justify-content:space-between;gap:16px;align-items:center}.brand{font-size:20px;font-weight:700;text-decoration:none}.brand span{display:block;font-size:13px;font-weight:500}.account,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.account form,.actions form{margin:0}nav{display:flex;gap:6px 18px;flex-wrap:wrap;padding:12px 4vw;background:white;border-bottom:1px solid var(--line)}nav a{text-decoration:none;font-size:14px}main{max-width:1200px;margin:auto;padding:30px 22px 60px}h1{font-size:25px;margin:0 0 14px}h2{font-size:19px;margin-top:0}h3{font-size:17px}p{margin:8px 0 16px}.heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:.15em;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin:0 0 22px;box-shadow:0 2px 5px #223c5504}.formcard{max-width:760px}.narrow{max-width:480px;margin:35px auto}form>div{margin-bottom:18px}label{display:block;font-weight:600;margin:9px 0 5px}input,textarea,select{width:100%;max-width:100%;padding:10px 12px;border:1px solid #b8c8d8;border-radius:7px;background:white;color:var(--ink);font:inherit}input[type=checkbox]{width:auto;accent-color:var(--blue)}textarea{resize:vertical}button,.button{border:1px solid var(--blue);border-radius:7px;background:var(--blue);color:white;display:inline-block;padding:10px 17px;text-decoration:none;font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:white;color:var(--blue)}.quiet{background:transparent;border-color:var(--line);color:var(--blue);padding:5px 9px;font-size:13px}.helptext,.muted{font-size:13px;color:var(--muted)}.errorlist{color:#9c2630;padding-left:20px}.message,.note{padding:14px 18px;border-radius:8px;background:#eaf2fa;border-left:4px solid var(--blue);margin:0 0 20px}.error{background:#fff0ee;border-color:#b23b35}.success{background:#eef9f3;border-color:#28815e}.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:18px 0}.filters label{flex:1 1 150px;font-size:13px}.filters button{margin-bottom:0}.tablewrap{overflow-x:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e8edf3;vertical-align:top;min-width:80px}th{font-size:12px;color:var(--muted);white-space:nowrap;background:#f7f9fc}.pill{display:inline-block;padding:3px 8px;border-radius:20px;background:#edf2f7;font-size:12px;white-space:nowrap}.approved{background:#e7f5ed;color:#216747}.returned{background:#fff0e8;color:#a44916}.submitted,.hr{background:#e8f1fb;color:#245b89}dl{display:grid;grid-template-columns:160px 1fr;gap:12px 20px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.timeline li{margin:12px 0}.timeline time{font-size:12px;color:var(--muted)}.total{font-size:18px;padding:18px 0}footer{color:var(--muted);text-align:center;font-size:12px;padding:20px}a:focus-visible,button:focus-visible{outline:3px solid #90c1ed;outline-offset:3px}@media(max-width:600px){header{align-items:flex-start;padding:16px}.brand{font-size:17px}.account{font-size:12px;justify-content:flex-end;max-width:140px}main{padding:22px 14px}h1{font-size:22px}.card{padding:18px}nav{padding:12px 16px;gap:9px 15px}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:12px}.filters label{flex-basis:42%}.actions{align-items:stretch}.actions button,.actions .button{width:100%}.actions form{flex:1 1 180px}.formcard form>div{overflow-wrap:anywhere}}
.commute-leg{border:1px solid #b8c8d8;border-radius:9px;padding:20px;margin:24px 0;min-width:0}.commute-leg legend{font-weight:700;padding:0 8px}.commute-period{display:grid;grid-template-columns:1fr 1fr;gap:18px}.commute-leg .helptext{margin:6px 0 14px}.commute-field{margin-bottom:14px}.gas-price-panel{display:grid;gap:6px;background:#edf4fa;border-radius:8px;padding:16px}.gas-price-panel output{font-size:20px;font-weight:700}.gas-price-panel small{color:#526579}.commute-result-row{border-bottom:1px solid #d9e2ec;padding:14px 0}.commute-result-row:last-child{border-bottom:0}.commute-equation{overflow-wrap:anywhere}.commute-leg [hidden]{display:none!important}html:has([data-commute-bundle]) .leg-delete{display:none}@media(max-width:600px){.commute-period{grid-template-columns:1fr;gap:0}.commute-leg{padding:14px}}
.leave-calendar-panel{border:1px solid #b8c8d8;border-radius:9px;padding:18px;margin:20px 0;min-width:0}.leave-calendar-panel legend{font-weight:700;padding:0 8px}.leave-weekdays,.leave-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.leave-weekdays span{text-align:center;font-size:12px;color:#64748b;padding:4px}.leave-date{padding:10px 2px;min-height:46px;background:#fff;color:#245b89;border-color:#b8c8d8}.leave-date.selected{background:#3975a6;color:#fff;border-color:#24557e}.leave-date.offday{background:#edf1f5;color:#526579;opacity:1;cursor:default}.leave-date small{display:block;font-size:10px;line-height:1.2}.leave-manual-dates{margin:18px 0}.leave-manual-dates summary{color:#3975a6;cursor:pointer}@media(max-width:600px){.leave-calendar-panel{padding:12px}.leave-weekdays,.leave-calendar-days{gap:4px}.leave-date{min-height:42px;padding:8px 1px}}
