:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#243d43;background:#f6f7f3;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{padding:24px max(24px,calc((100vw - 1140px)/2));background:#163d37;color:white;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:26px;font-weight:700;color:inherit;text-decoration:none;letter-spacing:-1px}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:1px;text-transform:uppercase}nav{display:flex;gap:8px;flex-wrap:wrap;max-width:1140px;margin:20px auto;padding:0 20px}button,.button{border:1px solid #c8d1c8;background:white;color:#234039;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#edf2eb}button.primary,nav button[aria-current=page]{background:#245d4c;border-color:#245d4c;color:white}button:disabled{opacity:.6;cursor:wait}button.danger{color:#9d302b}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d28634;outline-offset:3px}main{max-width:1140px;margin:24px auto 50px;padding:0 20px;min-height:65vh}h1{font-size:30px;line-height:1.2;margin:12px 0 24px}h2{font-size:20px;margin:0 0 16px}h3{font-size:17px;margin:0 0 10px}p{margin:8px 0 16px}.muted,small{color:#64756f}.card{border:1px solid #dce2d8;border-radius:14px;padding:24px;background:#fff;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.stat strong{display:block;font-size:32px;color:#285d4b}.stat span{font-size:14px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}form{display:grid;gap:16px}label{display:grid;gap:6px;font-size:14px;font-weight:600}input,select,textarea{border:1px solid #bccabd;border-radius:7px;background:white;padding:10px;font:inherit;width:100%;color:inherit}input[type=checkbox]{width:auto;justify-self:start}textarea{min-height:90px;resize:vertical}.login{max-width:480px;margin:55px auto}.notice{padding:14px 18px;border-radius:8px;background:#eaf2e9}.error{background:#fff0e9;color:#873e25}#message:not(:empty){padding:12px 24px;background:#fff1d8;border-bottom:1px solid #e6cda4}#identity{display:flex;gap:12px;align-items:center;font-size:14px}#identity button{padding:5px 12px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid #e4e8e0;vertical-align:top}th{font-size:12px;letter-spacing:.03em;color:#587068;background:#f4f6f1}.table-wrap{overflow:auto}.badge{display:inline-block;padding:3px 8px;border-radius:5px;font-size:12px;background:#eaf0e8}.empty{padding:24px;color:#67766b}.secret{overflow-wrap:anywhere;font-family:monospace;background:#eef3e9;padding:16px;user-select:all}.period{display:flex;gap:16px;align-items:end;margin-bottom:20px}.period label{max-width:220px}.day{display:flex;gap:8px;align-items:center;margin-bottom:8px}.day strong{width:80px;font-size:13px}.day input{width:110px;padding:7px}dialog{border:1px solid #ccd8ca;border-radius:16px;padding:28px;width:min(600px,94vw);max-height:90vh}dialog::backdrop{background:#122c2acc}footer{text-align:center;color:#69796e;font-size:12px;padding:25px}.detail{white-space:pre-wrap;overflow-wrap:anywhere}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.schedule{overflow:auto}a{color:#245d4c}@media(max-width:650px){header{padding:18px;align-items:flex-start}.brand{font-size:22px}#identity{flex-direction:column;align-items:flex-end}nav{gap:6px}nav button{font-size:13px;padding:8px}main{padding:0 14px}.card{padding:18px}.period{flex-wrap:wrap}.day{min-width:560px}.grid{grid-template-columns:1fr}h1{font-size:25px}th,td{padding:10px}}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;max-width:660px;margin-top:16px}.calendar-grid strong{text-align:center;font-size:12px;color:#61756b}.calendar-grid button{min-width:0;padding:12px 3px}.calendar-grid .approved{background:#cce4cd;border-color:#79a47e}.calendar-grid .pending{background:#fff0c9;border-color:#d2b55f}.calendar-grid .rest{color:#829086}.calendar-grid .chosen{box-shadow:inset 0 0 0 2px #275f49}
