*{box-sizing:border-box}body{font:16px system-ui;background:#f3f5f7;color:#172c3b;margin:0}main{max-width:1050px;margin:auto;padding:36px 20px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{margin:8px 0 25px;font-size:30px}small,footer{color:#627583}button,input,select{font:inherit;padding:11px 14px;border:1px solid #ccd5dd;border-radius:8px;background:white}button{cursor:pointer}button:hover{background:#e8f1ee}button:disabled{opacity:.5;cursor:wait}label{display:block;margin:15px 0}label input{display:block;margin-top:8px;width:100%}nav{display:flex;gap:10px;margin:18px 0}.notice{padding:20px;background:#deeee6;border-radius:10px;margin-bottom:20px;font-weight:650}.card,form,details{background:white;padding:22px;border:1px solid #dce3e8;border-radius:12px;margin-top:18px}.card h3{margin-top:0}.entry{display:grid;grid-template-columns:1fr 190px 80px;gap:10px;margin:12px 0}.entry input{min-width:0}.person{padding:12px 0;border-bottom:1px solid #e7ecef}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tag{display:inline-block;background:#edf1f5;border-radius:5px;padding:4px 8px;margin-left:8px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}#message{white-space:pre-wrap;color:#175d46}#loginError{color:#9c2525}dialog{border:0;border-radius:14px;max-width:430px;width:95%}dialog form{border:0;margin:0;padding:8px}dialog::backdrop{background:#172c3b80}footer{font-size:13px;margin-top:35px}details p{font-size:14px}summary{cursor:pointer}[hidden]{display:none!important}@media(max-width:650px){header{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr}.entry{grid-template-columns:1fr 1fr}.entry input{grid-column:1/-1}h1{font-size:26px}}
table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #e1e7eb;overflow-wrap:anywhere}th{color:#526574;font-size:14px}td select{width:100%;min-width:0}#rows th:last-child{width:70px}.leave{color:#905d10;background:#fff2d8}#rows .card{overflow-x:auto}@media(max-width:550px){th,td{padding:8px 3px}td select{font-size:13px;padding:8px 2px}}