:root{font-family:system-ui,'Noto Sans JP',sans-serif;color:#172934;background:#f3f5f6}*{box-sizing:border-box}body{margin:0}header{background:#14232c;color:white;padding:18px;display:flex;align-items:center;gap:18px}header a{color:#ddbc7f;text-decoration:none;font-weight:800}header button{margin-left:auto}main{max-width:1100px;margin:auto;padding:22px 16px 60px}section,article{background:white;padding:22px;margin:16px 0;border:1px solid #dbe1e4;border-radius:8px}h1{font-size:25px}h2{font-size:20px;margin:5px 0 16px}h3{font-size:17px}label{display:block;margin:12px 0}input,select,textarea,button{font:inherit;padding:12px;border:1px solid #bbc7cd;border-radius:5px}input,select,textarea{display:block;width:100%;margin-top:6px;background:white}button{cursor:pointer;background:white;color:#172934}button.primary{background:#142c3a;color:white;border-color:#142c3a}button:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.actions{display:flex;gap:10px;flex-wrap:wrap}.hint{font-size:13px;color:#5b6b73;line-height:1.8}.badge{display:inline-block;padding:5px 10px;background:#eef3ee;border-radius:15px;font-size:13px}.punch{font-size:22px;min-height:68px;flex:1}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}td,th{padding:12px 9px;border-bottom:1px solid #dce3e6;text-align:left}#message{color:#93402e;white-space:pre-wrap}.amount{font-size:28px;font-weight:800}.login{max-width:500px;margin:35px auto}.audit{font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:650px){.grid{grid-template-columns:1fr}section,article{padding:16px}header{gap:10px;font-size:13px}.punch{width:100%}}

.entry-link{display:block;padding:16px;background:#142c3a;color:white;text-decoration:none;border-radius:5px;text-align:center;font-weight:700;margin:20px 0}
.toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar .weekday{text-align:center;padding:8px;font-size:12px}.calendar button{padding:8px 3px;min-height:85px;text-align:left;overflow:hidden;display:flex;flex-direction:column;gap:5px;border-color:#d8e0e4}.calendar button.selected{outline:2px solid #a88749;background:#fff8e9}.calendar small{font-size:10px;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cancelled{color:#9b4638}.targets{display:flex;gap:16px;flex-wrap:wrap}.targets label{display:flex;align-items:center;gap:5px}.targets input{width:auto;margin:0}.choices button[aria-pressed=true]{background:#163d4b;color:white}.detail{white-space:pre-wrap;overflow-wrap:anywhere}#editor:empty,#login:empty{display:none}#message{position:sticky;top:0;z-index:2;background:#f3f5f6;padding:6px}.private-link{word-break:break-all;font-size:13px}@media(max-width:650px){.calendar button{min-height:72px}.calendar small{font-size:9px}h1{font-size:21px}}

.team-label{color:#806431;background:#faf2e1;border-radius:3px;padding:2px}.inline{display:flex;align-items:center;gap:8px}.inline input{width:auto;margin:0}
